ВХОД

ПРОГРАММИРОВАНИЕ

ЧИСЛЕННЫЕ АЛГОРИТМЫ

Начало > Глава 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.
_____________________________________________

Циклы | Числа | Цифры | Условия | Простые | Совершенные | Палиндромы | Фибоначчи | Близнецы | Дружественные | Автоморфные | Пифагоровы
Copyright ©2011 Nika A.S.
Hosted by uCoz