Начало > Глава V. Автоморфные числа > Задачи с решениями |
ГЛАВА V. ЗАДАЧИ С РЕШЕНИЯМИ. Автоморфные числа
|
1.(2 способа) Дано натуральное число N. Определить, является ли оно автоморфным. Автоморфное число N равно последним разрядам квадрата этого числа: 5 → 25, 6 → 36, 25 → 625.
2. Составить программу, которая находит все автоморфные числа в интервале [m; n].
3. Дано 10 случайных чисел в интервале [30; 40]. Вывести на экран автоморфные числа и их сумму. _____________________________________________ |
1.1. Дано натуральное число N. Определить, является ли оно автоморфным. Автоморфное число N равно последним разрядам квадрата этого числа: 5 → 25, 6 → 36, 25 → 625.
program avt_011; {1 способ}
uses crt;
var ch,p :integer;
{ch - проверяемое число;
p - порядок квадрата числа
}
begin clrscr;
p:=1;
write('ch='); readln(ch);
while p<=ch do p:=p*10;
if sqr(ch) mod p=ch then write(ch, ' - автоморфное число') else writeln('нет');
end.
_____________________________________________
1.2. Дано натуральное число N. Определить, является ли оно автоморфным.
program avt_012; {2 способ. С отдельным вычислением разрядности. }
Var n,r,m:word;
{r - разрядность; n - введенное число }
Begin
Write('Введите натуральное число');
Readln(n);
M:=n; r:=1;
While m>0 do {в цикле определяем разрядность r введенного числа n}
Begin
M:=m div 10;
R:=r*10;
End;
If (n*n mod r)=n then writeln('число ',N,' автоморфно')
else writeln(('число ',N,' не автоморфно' );
End.
_____________________________________________
|
2. Составить программу, которая находит все автоморфные числа в интервале [m;n].
n=1
m=1000
1
5
6
25
76
376
625 |
1
25
36
625
5776
141376
390625 |
program avt_02;
uses crt;
var m, n, x, p: integer;
{n,m - интервал;
x - число;
p - разрядность}
begin clrscr;
write('n=');readln(n);
write('m=');readln(m);
p:=1;
for x:=n to m do
begin
while p<=x do p:=p*10;
if x*x mod p = x then writeln(x:10,x*x:10);
end;
end.
_____________________________________________
|
3. Дано 10 случайных чисел в интервале [20; 30]. Вывести на экран автоморфные числа и их сумму.
Ответ:
25- число авт
25- число авт
25- число авт
sum=75
program zz;
uses crt;
var i,s,ch,sum:integer;
begin clrscr;
for i:=1 to 10 do
begin
s:=0;
ch:=random(11)+30;
if
sqr(ch) mod 10=ch
then
begin
s:=ch+(ch mod 10);
sum:=sum+ch;
writeln(ch,'- число авт');
end
end;
writeln('sum=',sum);
end.
_____________________________________________
|
|
|
Циклы | Числа | Цифры | Условия | Простые | Совершенные | Палиндромы | Фибоначчи | Близнецы | Дружественные | Автоморфные | Пифагоровы |
|