Var
n, i, m: longint;
s1, s2: string;
l1: integer;
begin
Write('Введите натуральное число: ');
Readln(n);
Writeln('Автоморфные числа:');
for i := 1 to n do
begin
m := sqr(i);
Str(i, s1);
l1 := Length(s1);
Str(m, s2);
if s1 = Copy(s2, Length(s2) - l1 + 1, l1) then Writeln(i)
end
end.
Тестовое решение:
Введите натуральное число: 10000
Автоморфные числа:
1
5
6
25
76
376
625
9376
<em>// PascalABC.NET 3.3, сборка 1600 от 23.12.2017</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
function kolichestvo(c:array [,] of integer):integer;
begin
Result:=0;
var n:=c.RowCount;
for var i:=1 to n-1 do
for var j:=n-i to n-1 do
if c[i,j].IsEven then Result+=1
end;
function massiv:array[,] of integer;
begin
var n:=ReadInteger('Число строк/столбцов: ');
Result:=MatrRandom(n,n,-99,99)
end;
begin
var s:=massiv; s.Println(4); Writeln(4*s.ColCount*'-');
var n:=massiv; n.Println(4); Writeln(4*n.ColCount*'-');
var m:=Sqr(kolichestvo(s)+kolichestvo(n));
Writeln('M=',m)
end.
<u>Пример</u>
Число строк/столбцов: 3
-77 -81 82
-30 -37 39
31 92 12
------------
Число строк/столбцов: 6
66 9 -64 -53 13 -61
16 -72 -25 38 -19 21
40 29 38 77 -38 11
31 76 -83 -17 -58 1
-2 39 -63 84 -35 -42
-23 -75 -57 92 -14 -73
------------------------
M=64
<u>PascalABC.NET 3.3.5, сборка 1662 от 29.04.2018</u>
<u>Внимание! Если программа не работает, обновите версию!</u>
begin
var c:=ArrRandom(ReadInteger('n='),-50,50); c.Println;
var imax:=c.IndexMax;
c:=c?[:imax]+c?[imax+1:]; c.Println
end.
<u>Пример</u>
n= 15
-5 -23 44 41 23 29 -36 -13 -45 -36 -37 33 -34 -18 33
-5 -23 41 23 29 -36 -13 -45 -36 -37 33 -34 -18 33
Нельзя более 5000 символов, поэтому просто дам ссылку http://school-25.ru/informatika/uch_8kl_sem/04.html