Thứ Bảy, 13 tháng 7, 2019

Bài 13 - Giải thuật nhập môn

Viết chương trình nhập vào 1 số nguyên dương n (0 < n < 32000). Hãy cho biết số nguyên này là bội của tổng tất cả các chữ số của nó hay không? Nếu không thì hãy tìm một số nguyên dương m nhỏ hơn gần n nhất để cho m thỏa mãn tính chất trên?
Dữ liệu nhập: Nhập từ bàn phím
Dữ liệu xuất: Xuất ra File BAI.out.
Ví dụ 1:
Nhập: 12
File BAI.out:
Số 12 là bội của 1 + 2
Ví dụ 2:
Nhập: 25
File BAI.out:
Số 25 không là bội của 2 + 5, số nguyên dương nhỏ hơn gần số 25 nhất là số 24 thỏa mãn tính chất trên (Vì số 24 là bội của 2 +  4)

1 nhận xét:

  1. Uses crt;
    Var n,i:longint;
    function test(a:int64):boolean;
    Var t,b:longint;
    Begin
    t:=0;
    b:=a;
    While a<>0 do
    Begin
    t:=t+a mod 10;
    a:=a div 10;
    end;
    If (b mod t=0) then exit(true) else exit(false);
    end;
    Begin
    readln(n);
    For i:=n downto 1 do
    If test(i) then Begin Write(i); break; end;
    readln;
    end.

    Trả lờiXóa

Dùng nick gmail để bình luận. Nếu lần đầu tiên bạn làm điều này thì hệ thống sẽ chuyển bạn sang trang blogger và hỏi bạn chọn tên hiển thị là gì. Bạn hãy nhập tên hiển thị rồi ok là được. Những lần bình luận sau hệ thống sẽ không hỏi nữa. Cảm ơn!

Bài được xem nhiều nhất