Giả thiết N là số nguyên dương. Số nguyên M là tổng của N với các chữ số của nó. N được gọi là số nguồn của M

1.5 K

Tailieumoi.vn biên soạn và giới thiệu bộ câu hỏi Tin học gồm các kiến thức lý thuyết và thực hành, giúp học sinh ôn tập và bổ sung kiến thức cũng như hoàn thành tốt các bài kiểm tra môn Tin học. Mời các bạn đón xem:

Giả thiết N là số nguyên dương. Số nguyên M là tổng của N với các chữ số của nó. N được gọi là số nguồn của M

Câu 77: Giả thiết N là số nguyên dương. Số nguyên M là tổng của N với các chữ số của nó. N được gọi là số nguồn của M.

Ví dụ: N=245, khi đó M=245+2+4+5=256, như vậy nguồn của 256 là 245.

Cho số nguyên M( M không quá 100 chứ số) hãy tìm nguồn nhỏ nhất của nó. Nếu M không có nguồn thì đưa ra số 0.

Lời giải:

uses crt;
var m,ans:string;
    i:longint;
function add(a,b:string):string;
var ans:string;
    sum,carry,i:longint;
begin
    carry:=0; ans:='';
    while length(a) < length(b) do a:='0' + a;
    while length(b) < length(a) do b:='0' + b;
    for i:=length(a) downto 1 do
        begin
            sum:=ord(a[i]) - 48 + ord(b[i]) - 48 + carry;
            carry:=sum div 10;
            ans:=chr(sum mod 10 + 48) + ans;
        end;
    if carry > 0 then ans:='1' + ans;
    exit(ans);
end;
begin
clrscr;
    readln(m);
    ans:='0';
    for i:=1 to length(m) do
        ans:=add(ans,m[i]);
            if ans > '0' then
        writeln(add(m,ans))
    else
        writeln(0);
readln;
end.

Đánh giá

0

0 đánh giá