Цитата:
Сообщение от Shot
Написать программу вычисления количества цифр в записи натурального числа и опреде-ления, является ли это число палиндромом. (Палиндром — это число, которое равно числу, записанному теми же цифрами, но только в обратном порядке — справа налево. Например, 45654 или 6776).
|
Написал:
Код:
VAR
N,N1,Num_of_Fig:LongInt;
i,Imax:BYTE;
b:Boolean;
BEGIN
Write('(N must be < 2147483648); N= ');
ReadLn(N);
Num_of_Fig:=TRUNC(Ln(1.0*N)/Ln(10.0))+1;
WriteLn('Number of figures is ',Num_of_Fig);
b:=true;
Imax:=Num_of_Fig div 2;
N1:=N;
i:=0;
Repeat
Inc(i);
If (N1 div ROUND(Exp((Num_of_Fig-1)*Ln(10))))<>(N1 mod 10) then b:=false;
N1:=N1 mod ROUND(Exp((Num_of_Fig-1)*Ln(10)));
N1:=N1 div 10;
Dec(Num_of_Fig,2);
Until (b=false) or (i=Imax);
If b and (i=Imax) then
WriteLn(N,' is a palindrome')
else
WriteLn(N,' is not a palindrome');
ReadLn;
END.
Какие еще будут распоряжения?