Показать сообщение отдельно
Старый 16.06.2010, 21:41   #2 (permalink)
Vladimir_S
Специалист
 
Аватар для Vladimir_S
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 26,959
Сказал(а) спасибо: 322
Поблагодарили 542 раз(а) в 183 сообщениях
Репутация: 101510
По умолчанию

Цитата:
Сообщение от 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.
Какие еще будут распоряжения?
__________________
With Mozilla Firefox - straight to communism!
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070