Натуральное число называется автоморфным, если оно равно последним цифрам своего квадрата. Например, 25^2 = 625. Напишите программу, которая получает натуральное число N и выводит на экран все автоморфные числа, не превосходящие N.
Пример:
Введите N:
1000
1*1=1
5*5=25
6*6=36
25*25=625
76*76=5776
Answers & Comments
function check(x: integer): boolean;
begin
var tmp := x * x;
Result := true;
repeat
if tmp mod 10 <> x mod 10 then Result := false;
tmp := tmp div 10;
x := x div 10;
until (x = 0) or not(Result);
end;
begin
var n := ReadInteger('Введите N:');
Range(1, n).Where(x -> check(x)).Select(x -> x.ToString + '*' + x.ToString + '=' + (x * x).ToString).Println(NewLine)
end.
5 25
6 36
25 625
76 5776
376 141376
625 390625 - это для N = 1000
function Ordd(var x,m: integer):integer;
begin
if x=m then m:=m*10;
Ordd:=m;
end;
Begin
var n := ReadInteger('Введите N: ');
var m: integer; m:=10;
Range(1, n).Where(x -> x = x*x mod Ordd(x,m)).Select(x -> x.ToString + '*' + x.ToString + '=' + (x * x).ToString).Println
End.