-
03-09-2011, 01:35 AM #21
Silver member
- Ngày tham gia
- Apr 2016
- Bài viết
- 0
Gửi bởi khaimy123
Bạn không hiểu ý tớ thì phải
In ra như vậy đâu nhất thiết phải in ra chuỗi có chứa bấy nhiêu chữ số, ta chỉ cần dùng thủ thuật đơn giản sau đây:
Mã:for i:=1 to n do write(f,i);
-
03-09-2011, 03:56 AM #22
Junior Member
- Ngày tham gia
- Nov 2015
- Bài viết
- 4
Lúc đầu em cũng nghĩ đến cách in:
for i:=1 to n do
----write(f,i);
Nhưng thầy em bảo dùng xâu cho dễ, sau đó cải tiến thành file. Bài này 10 test mà chạy được đến test 5 là ok rồi. Lấy giải KK thôi.
Anh nói không cần dùng xâu chỉ cần in ra:
for i:=1 to n do
----write(f,i);
Vậy anh cho code toàn bài {gồm xuất và cộng các chữ số 1->n} luôn nha. Để em hỏi thầy xem sao.:lick:
-
03-09-2011, 04:36 AM #23
Junior Member
- Ngày tham gia
- Aug 2015
- Bài viết
- 4
Gửi bởi khaimy123
Việc xuất thì như code mình nêu trên.
Bạn thi gì mà lấy giải KK mà cho cả test ra thế này...
-
03-10-2011, 02:47 AM #24
Silver member
- Ngày tham gia
- Mar 2016
- Bài viết
- 0
Sửa giùm em code bài này với
Mã:Type dayso=array[1..1000] of longint; Var a:dayso; k,l:string; j,i,n,s,e,tam,o:integer; fi,fo,f:text; Procedure Init; Begin Assign(fi,'Number0.inp'); Assign(fo,'Number0.out'); Assign(f,'Tam00.out'); Reset(fi); Rewrite(fo); End; Procedure Enter; Begin Readln(fi,n); End; Procedure Solve; Begin s:=02; l:=''; k:=''; tam:=0; s:=0; For i:=1 to n do Begin str(i,k); l:=l+k; For j:=1 to length(l) do write(f,l[i]); End; Reset(f); o:=0; While not eof(f) do Begin inc(o); Read(f,a[o]); End; For I:=1 to n do s:=s+a[i]; Write(fo,s); End; Procedure Thoat; Begin Readln; Close(fi); Close(fo); Close(f); End; Begin Init; Enter; Solve; Thoat; End.
-
03-10-2011, 03:08 AM #25
Junior Member
- Ngày tham gia
- Nov 2015
- Bài viết
- 0
Bạn đưa code nhưng không nói đề bài hay ý tưởng gì hết thì sao biết đường đâu mà lần.
Bạn khắc phục nha!
-
03-10-2011, 03:45 AM #26
Junior Member
- Ngày tham gia
- Aug 2015
- Bài viết
- 1
Đây là nguyên văn bài thi
TỔNG CÁC CHỮ SỐ
Cho số nguyên dương n. VIết các số nguyên liên tiếp từ 1 tới n trong hệ thập phân để tạo ra một dãy các chữ số. Hãy tính tổng các chữ số của dãy.
Ví dụ : với n = 12, ta có dãy chữ số 123456789101112 với tổng là 51.
test 1 : n = 12
test 2 : n = 123
test 3 : n = 2468
test 4 : n = 13579
test 5 : n = 12481632
test 6 : n = 123456789
test 7 : n = 9876543210
test 8 : n = 123123123123
test 9 : n = 123456789123456789
test 10: n = 98765432100123456789
Ý tưởng:
0. Ngoài việc tạo file inp và file out còn tạo thêm file Tam.out(bộ nhớ ảo)
1. Đầu tiên chuyển dãy số từ 1->n sang chuỗi.
2. Đọc chuỗi vào file tạm.
3. Đọc dữ liệu từ file tạm vào mảng.
4. Cộng các phần tử của mảng.
-
03-10-2011, 04:06 AM #27
Junior Member
- Ngày tham gia
- Aug 2015
- Bài viết
- 7
Gửi bởi khaimy123
Vì vậy bạn cần cải thiện bằng cách vừa in file vừa tính tổng, bỏ việc khai báo mảng A [IMG]data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAA l21bKAAAAA1BMVEXh5PJm+yKVAAAAAXRSTlMAQObYZgAAAApJR EFUCNdjYAAAAAIAAeIhvDMAAAAASUVORK5CYII=[/IMG]
-
03-10-2011, 04:17 AM #28
Junior Member
- Ngày tham gia
- Aug 2015
- Bài viết
- 3
Thật ra cũng không cần dùng đến mảng. Chỉ việc đọc vào string rồi xử lí là ok. Bởi vì 1 số cũng không quá 256 chữ số.
-
03-10-2011, 04:30 AM #29
Junior Member
- Ngày tham gia
- Aug 2015
- Bài viết
- 4
Gửi bởi HappySoftGroup
Nối lại chắc dài hơn 256 kí tự rồi.
-
03-10-2011, 04:40 AM #30
Junior Member
- Ngày tham gia
- Nov 2015
- Bài viết
- 0
Gửi bởi khaimy123
Xe nâng người Boom lift được Công Ty TNHH Trung thành phân phối chính hãng tại khu vực phía Bắc. Với chi phí đầu tư ban đầu thấp hơn rất nhiều so với các loại xe nâng dầu , xe nâng động cơ loại...
Xe nâng người được trung thành nhập khẩu giá tốt