Например, 26 во второй степени = 676.
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.