BÀI TẬP 68: SỐ ĐỐI XỨNG

số đối xứng

Số đối xứng là số có thể viết từ phải sang trái các chữ số của nó ta vẫn được chính nó. Từ một số có hai chữ số ta có thể nhận được một số đối xứng theo cách sau: Lấy số ban đầu cộng với số viết lại theo thứ tự ngược lại của nó, nếu kết quả chưa phải là số đối xứng, số đó lại cộng với số viết theo thứ tự của nó và tiếp tục như vậy cho đến khi nhận được số đối xứng.

            Ví dụ: Từ số 49 ta có: 49 + 94 = 143; 143 + 341 = 484. Như vậy số đối xứng thu được từ số 49 là 484.

            Em hãy viết chương trình tìm số đối xứng từ số N (với số N là một số nguyên có hai chữ số khác nhau và 11<=N<=99 được nhập từ bàn phím).

CODE THAM KHẢO:

program so_doi_xung;

uses crt;

var m,n,s:qword;

function dx(n:qword): boolean;

var i,k:byte;

    s:string;

begin

        str(n,s);

        k:=length(s);

        dx:=true;

        for i:=1 to k div 2 do

        if s[i] <> s[k-i+1] then

        begin

                dx:=false;

                break;

        end;

end;

begin

        clrscr;

        repeat

                write('Nhap N: '); readln(n);

        until (n>=11) and (n<=99);

        s:=n;

        if dx(n) then begin write(n); s:=0; end else

        repeat

                m:=0;

                while n > 0 do

                begin

                        m:=m*10 + N mod 10;

                        n:= n div 10;

                end;

                s:=s+m;

                n:=s;

        until dx(s) = True;

        if s<>0 then write(s);

        readln;

end.




Nhãn:

Đăng nhận xét

[blogger]

Biểu mẫu liên hệ

Tên

Email *

Thông báo *

Được tạo bởi Blogger.
Javascript DisablePlease Enable Javascript To See All Widget