Kết quả 1 đến 5 của 5
  1. #1
    Ngày tham gia
    Aug 2015
    Bài viết
    1

    thuật toán đảo số

    phép toán a mod b cho kết quả là phần dư của phéo toán a chia hết cho b.
    Phéo toán a div b cho kết quả là phân nguyên của phép chia a cho b.
    Xây dựng thuật toán in số đảo ngược các chữ số nguyên dương N cho trước.


    mấy anh giúp em với nhé !

  2. #2
    Ngày tham gia
    Dec 2015
    Bài viết
    0
    Đoạn code chính:
    kq:=0;
    repeat
    du:=a mod 10;
    kq:=kq*10+du;
    a:=a div 10;
    until a=0;
    Đó là đoạn code chính để đảo ngược số A nhập vào, kết quả trong biến kq. Các thứ vụn vặt khác bạn tự bổ sung thành bài hoàn chỉnh nhé.

  3. #3
    Ngày tham gia
    Nov 2015
    Bài viết
    5
    Trích dẫn Gửi bởi lequantoanvan
    Xây dựng thuật toán in số đảo ngược các chữ số nguyên dương N cho trước.
    xây dựng thuật toán mà anh ! anh cho từng bước cụ thể !

  4. #4
    Ngày tham gia
    Nov 2015
    Bài viết
    3
    À thì thế này:
    _ Tách chữ số cuối cùng của số đang xét, chữ số này thêm vào số mới = việc *10 + du như trong chương trình
    _ Loại chữ số vừa tách ra, số đang xét thành div 10.
    Cứ như thế tới khi số đang xét về 0 tức là đã tách được toàn bộ các chữ số ra, số mới cũng đã được hình thành.
    Nếu bạn chưa hiểu thuật toán, hãy bắt tay vào làm ra nháp các bước như mình đã nói, tự bạn sẽ hình dung được cách làm.

  5. #5
    Ngày tham gia
    Aug 2015
    Bài viết
    1
    Thuật toán:
    Bước 1: Nhập N
    Bước 2: N1!0
    Bước 3: a !N mod 10
    N1! N1*10+a
    N! N div 10
    Bước 4. Nếu N=0 thì đưa ra N1 rồi kết thúc
    Bước 5. Quay lại bước 3
    Sao mình copy trong word mà không sửa được Font chữ
    Mã:
    Var N,N1,a:integer;
    Begin
    write('Nhap vao so N:');
    Readln(N);
    N1:=0;
    Repeat
    Begin
    a:=N mod 10;
    N1:=N1*10+a;
    N:=N div 10;
    Until N=0;
    Write(N1);
    Readln
    End
    Sử dụng thuật toán đệ qui
    Mã:
    Var n:integer;
    procedure Dao(n:integer);
    Begin
    If n>0 then 
    Begin
     write(n mod 10);
    dao(n div 10);
    End;
    end;
    Begin
    write('N=');
    Readln(N);
    dao(n);
    Readln
    End.

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
  •