Дано натуральное число N. Если это не палиндром, реверсируйте его цифры и сложите исходное  число с числом, полученным в результате реверсирования. Если сумма не палиндром, то повторите те же действия и выполняйте их до тех пор, пока не получится палиндром — Pascal(Паскаль)

{ Дано натур. число N. Если это не палиндром, }
{ реверсируйте  его цифры и  сложите исходное }
{ число с числом, полученным в результате ре- }
{ версирования.  Если сумма не палиндром,  то }
{ повторите те же действия и выполняйте их до }
{ тех пор, пока не получится палиндром        }
{ Пример:                                     }
{ 78+87=165                                   }
{ 165+561=726                                 }
{ 726+627=1353                                }
{ 1353+3531=4884                              }

uses CRT;
var N, N2, nn:Longint;
BEGIN
    ClrScr;
    Write('N:= '); ReadLn(N);
    nn:= 0;
    repeat
        N:= N+ nn;
        nn:= 0;
        N2:= N;
        while N>0 do begin
            nn:= nn*10+(N mod 10);
            N:= N div 10;
        end;
        N:= N2;
        Write(#13#10,N,'+ ', nn, '=');
    until N=nn;
    WriteLn(' Ответ');
    Write('< Ok >'); ReadKey;
END.

Leave a Comment

25 − 21 =