ВХОД

МЕТОДИЧЕСКИЕ РАЗРАБОТКИ ПО КУРСУ ИНФОРМАТИКИ

"ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ PASCAL"

Начало > Глава V. Автоморфные, Пифагоровы числа > Задачи с решениями

ГЛАВА V

ЗАДАЧИ С РЕШЕНИЯМИ

Автоморфные числа



1. Дано натуральное число N. Определить, является ли оно автоморфным. Автоморфное число N равно последним разрядам квадрата этого числа: 5 → 25, 6 → 36, 25 → 625.
  1.1 Переход. Первый способ.
1.1 Блок-схема
1.2 Переход. Второй способ. С отдельным вычислением разрядности.
1.2 Блок-схема

2. Составить программу, которая находит все автоморфные числа в интервале [m; n].
  Переход
Блок-схема

3. Дано 10 случайных чисел в интервале [20; 30]. Вывести на экран автоморфные числа и их сумму.
  Переход
Блок-схема

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