import math
for i in range(10, 99 + 1):
if math.sqrt(i % 10 * 10 + i // 10 + i) % 1 == 0:
print(i)
Пояснения:
Перебираем с цикла for список всех двузначных чисел, созданный с функции range(10, 99 + 1).
i % 10 * 10 + i // 10 — меняем местами десятки и единицы (например, 29 превращаем в 92):
i % 10 — получаем десяткиi // 10 — получаем единицыПотом добавляем к полученному наше исходное число (например, 29 превращается в 92 и к нему прибавляется 29). Из этой суммы находим квадрат с функции sqrt() из модуля math (мы его подключили первой строкой import math). Чтобы проверить, полный ли квадрат получается из этого числа, нужно проверить, имеет ли остаток полученный корень. Я нашел остаток от деления с конструкции root % 1. Если остаток равен нулю, то квадрат полный, следовательно выводим число в консоль с функции print().
var ma:array of array of integer;
i,j,s,m:integer;
begin
randomize;
readln(m);
setlength(ma,m+1);
for i:=1 to m do
setlength(ma[i],m+1);
writeln('Matrix:');
for i:=1 to m do
begin;
writeln;
for j:=1 to m do
begin;
ma[i,j]:=random(-30,40);
write(ma[i,j]:4);
end;
end;
for i:=1 to m do
for j:=i+1 to m do
s+=ma[i,j];
writeln;
writeln('Result:',s);
end.