Предмет: Информатика, автор: scoolnica

Натуральное число называется автоморфным, если оно равно последним цифрам своего квадрата. Например, 25^2 = 625. Напишите программу, которая получает натуральное число N и выводит на экран все автоморфные числа, не превосходящие N.
Пример:
Введите N:
1000
1*1=1
5*5=25
6*6=36
25*25=625
76*76=5776

Ответы

Автор ответа: A1dar
0
//PascalABC.NET 3.0
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.
Автор ответа: A1dar
0
для n = 1000 в условии
Автор ответа: A1dar
0
извиняюсь, не дочитал условие
Автор ответа: A1dar
0
Исправил
Автор ответа: srzontmp
0
Можно короче исправить Вашу программу        //PascalABC.NET 3.0
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.
Автор ответа: A1dar
0
Тоже вариант
Похожие вопросы
Предмет: Русский язык, автор: aniananyan1