// PascalABC.NET 3.1, сборка 1219 от 16.04.2016 function IsAutomorph(s:string):boolean; // Возвращает true, если строка s изображает // автоморфное число, иначе возвращает false begin var b:BigInteger; if BigInteger.TryParse(s,b) then Result:=sqr(b).ToString.Right(s.Length)=s else Result:=false end;
begin var s:=ReadlnString('Введите натуральное число:'); if IsAutomorph(s) then Println('Автоморфное') else Println('Не автоморфное') end.
#include <iostream>
#include <iomanip>
#include <ctime>
int main()
{
using namespace std;
cout << "Enter N: ";
int N;
cin >> N;
int * A = new int[N];
srand(time(0));
for (int i = 0; i < N; ++i)
A[i] = rand() % N + 1;
for (int i = 0; i < N; ++i)
cout << setw(4) << A[i];
cout << "\nEnter K: ";
int K;
cin >> K;
int SIZE = 0;
for (int i = 0; i < N; ++i)
if (A[i] <= K)
++SIZE;
if (SIZE > 0)
{
int * A1 = new int[SIZE];
int i1 = 0;
for (int i = 0; i < N; ++i)
if (A[i] <= K)
{
A1[i1] = A[i];
++i1;
}
for (int i1 = 0; i1 < SIZE; ++i1)
cout << setw(4) << A1[i1];
delete[] A1;
}
else
cout << "No elements" << endl;
delete[] A;
cout << endl;
return 0;
}
function IsAutomorph(s:string):boolean;
// Возвращает true, если строка s изображает
// автоморфное число, иначе возвращает false
begin
var b:BigInteger;
if BigInteger.TryParse(s,b) then
Result:=sqr(b).ToString.Right(s.Length)=s
else Result:=false
end;
begin
var s:=ReadlnString('Введите натуральное число:');
if IsAutomorph(s) then Println('Автоморфное')
else Println('Не автоморфное')
end.
Тестовые решения:
Введите натуральное число: 12890625
Автоморфное
Введите натуральное число: 3245
Не автоморфное