Найдите целые числа, меньшие n, которые при возведении в квадрат дают палиндромы
Категория: Delphi/Pascal
2012-02-11 20:14:00
Например, 26 во второй степени = 676.
code: #pascal
program er; var n,i:longint; function polin(n:longint):boolean; {начало функции, определяющей - явл. ли число полиномом} var i,j:longint; {переменные для циклов} s:string; itog:boolean; {результирующая переменная} begin {начало выполнения функции} itog:=true; {изначально переменная - ПОЛИНОМ} str(n,s); {число преврашаем в строку} if length(s)=1 then itog:=false; {если число из одной цифры - то оно - НЕПОЛИНОМ} for i:=1 to length(s) do begin {идём циклом с начала строки} j:=length(s)-i+1; {и с конца} if s[i]<>s[j] then itog:=false; end; {и если соответствующие цифры не равны - то - НЕПОЛИНОМ} polin:=itog; {результат Присваиваем самой функции} end; {начало самой программы} begin write('Vvedite N: '); readln(n); {считываем с клавы значение N} writeln('Eti CISLA: '); for i:=1 to n do {циклом идём от 1 до N} if polin(i*i) then {если текущее число явдляется полиномом...} writeln(i,' (',i*i,')'); {то выводим его} readln; end.
Поделиться: