Trang 2 của 4 Đầu tiênĐầu tiên 1234 CuốiCuối
Kết quả 11 đến 20 của 39
  1. #11
    Ngày tham gia
    Aug 2015
    Bài viết
    2
    Trích dẫn Gửi bởi khaimy123
    Anh viết code giùm em được không? Em vẫn chưa hiểu rõ lắm.
    Xin lỗi, mình nhầm, mình hiểu sai đề tưởng là tổng các số từ 1 => N.
    Bài như vậy phải dùng ansistring thay cho string. Vì ansistring chứa tối đa (2^31)-1 ký tự

  2. #12
    Ngày tham gia
    Aug 2015
    Bài viết
    5
    Trích dẫn Gửi bởi Shiro
    Xin lỗi, mình nhầm, mình hiểu sai đề tưởng là tổng các số từ 1 => N.
    Bài như vậy phải dùng ansistring thay cho string. Vì ansistring chứa tối đa (2^31)-1 ký tự
    Em đã sử dụng thử ansistring nhưng vẫn không được.
    Ban đầu dùng string thì chạy được test n=12, . Bây giờ dùng ansistring thì chỉ được thêm n=123 là đúng thôi
    Anh xem còn cách nào nữa không?#-o

  3. #13
    Ngày tham gia
    Nov 2015
    Bài viết
    4
    Trích dẫn Gửi bởi khaimy123
    Em đã sử dụng thử ansistring nhưng vẫn không được.
    Ban đầu dùng string thì chạy được test n=12, . Bây giờ dùng ansistring thì chỉ được thêm n=123 là đúng thôi
    Anh xem còn cách nào nữa không?#-o
    Sao kỳ vậy???, test đến 1000 cũng chưa vượt phạm vi ansistring mà

  4. #14
    Ngày tham gia
    Aug 2015
    Bài viết
    279
    Còn cách nào nữa không a[IMG]data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAA l21bKAAAAA1BMVEXh5PJm+yKVAAAAAXRSTlMAQObYZgAAAApJR EFUCNdjYAAAAAIAAeIhvDMAAAAASUVORK5CYII=[/IMG]#-o:lick:[IMG]data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAA l21bKAAAAA1BMVEXh5PJm+yKVAAAAAXRSTlMAQObYZgAAAApJR EFUCNdjYAAAAAIAAeIhvDMAAAAASUVORK5CYII=[/IMG])

  5. #15
    Ngày tham gia
    Nov 2015
    Bài viết
    0
    Code

    Bài này mình làm khai báo xâu S kiểu string nên bạn chỉ chạy được đến số 121 thôi (string gồm 255 kí tự mà!), bạn có thể khai báo s kiểu ansistring như anh Shiro nói!
    Mã:
    uses crt;
    var s1,s:string;
         a,t,i,n:longint;
         code:integer;
    begin clrscr;
    write('Nhap n:');
    readln(N);
    s:='';{xau S la xau rong}
    for i:=1 to n do 
     begin
      str(i,s1);
      s:=s+s1;
     end;
    for i:=1 to length(s) do
     begin
      val(s[i],a,code);
      t:=t+a;
     end;
    writeln('Xau: ',s);
    write('Tong: ',t);
    readln;
    end.

  6. #16
    Ngày tham gia
    Aug 2015
    Bài viết
    2
    Chẳng lẽ không ai giải được bài này hay sao?[IMG]data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAA l21bKAAAAA1BMVEXh5PJm+yKVAAAAAXRSTlMAQObYZgAAAApJR EFUCNdjYAAAAAIAAeIhvDMAAAAASUVORK5CYII=[/IMG])

  7. #17
    Ngày tham gia
    Nov 2015
    Bài viết
    0
    Trích dẫn Gửi bởi khaimy123
    Chẳng lẽ không ai giải được bài này hay sao?[IMG]data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAA l21bKAAAAA1BMVEXh5PJm+yKVAAAAAXRSTlMAQObYZgAAAApJR EFUCNdjYAAAAAIAAeIhvDMAAAAASUVORK5CYII=[/IMG])
    ??? Mình bảo dùng ansistring là giải quyết được thôi mà? Nếu không được bạn nói xem sai thế nào?

  8. #18
    Ngày tham gia
    Nov 2015
    Bài viết
    0
    Nhưng mà nhập số 2468, 13579,..., lớn hơn thì không được.
    Với lại kiểu ansistring chỉ có trong free pascal thôi còn turbo pascal đâu có. Đi thi lỡ nó bắt sài có turbo pascal thì sao anh?
    Chỉ còn cách tạo một file 'tam' chứa các số nguyên từ 1->n
    Vd
    tong.inp
    n=2468
    tong.out
    73924
    tam.out
    1234567891011121314151617181920...2468 rồi cộng vào.
    Anh thử suy nghĩ theo hướng này xem.:book:

  9. #19
    Ngày tham gia
    Aug 2015
    Bài viết
    1
    Trích dẫn Gửi bởi khaimy123
    Nhưng mà nhập số 2468, 13579,..., lớn hơn thì không được.
    Với lại kiểu ansistring chỉ có trong free pascal thôi còn turbo pascal đâu có. Đi thi lỡ nó bắt sài có turbo pascal thì sao anh?
    Chỉ còn cách tạo một file 'tam' chứa các số nguyên từ 1->n
    Vd
    tong.inp
    n=2468
    tong.out
    73924
    tam.out
    1234567891011121314151617181920...2468 rồi cộng vào.
    Anh thử suy nghĩ theo hướng này xem.:book:
    Việc tạo file sẽ phá vỡ quá trình chấm tự động trong các kỳ thi chấm máy (bây giờ là như vậy). Việc tạo file gọi là sử dụng bộ nhớ ảo.
    Đi thi bây giờ đã chuyển đổi tất cả là FPC không còn chuyện TurboPascal.
    Bạn nói 2468 vượt ansistring??? Thậm chí nó còn không vượt string kia kìa, hay bạn đề cập đến việc lưu toàn bộ 1->N vào 1 chuỗi???
    Đề yêu cầu in ra 1 chuỗi số như vậy, không có nghĩa ta cần cả chuỗi, in liền nhau là được. Dùng ansistring là vì khi nhập test lớn hơn 19 chữ số thì còn xài được (nhưng vẫn chẳng biết giới hạn bạn cho bao nhiêu [IMG]data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAA l21bKAAAAA1BMVEXh5PJm+yKVAAAAAXRSTlMAQObYZgAAAApJR EFUCNdjYAAAAAIAAeIhvDMAAAAASUVORK5CYII=[/IMG] )

  10. #20
    Ngày tham gia
    Aug 2015
    Bài viết
    4
    Đâ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
    test 10 đến 20 chữ số. Nếu viết từ 1->98765432100123456789 thì sao đủ?

Trang 2 của 4 Đầu tiênĐầu tiên 1234 CuốiCuối

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •