Дружественные числа – это два натуральных числа, таких, что сумма всех делителей одного...

0 голосов
125 просмотров

Дружественные числа – это два натуральных числа, таких, что сумма всех делителей одного числа (меньших самого этого числа) равна другому числу, и наоборот. Найдите все пары дружественных чисел, каждое из которых меньше 10000. Используйте функцию, которая вычисляет сумму делителей числа.


Информатика (260 баллов) | 125 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

//Pascal ABC.NET v3.0 сборка 1111

Var
 j,i:integer;

 function Abso(n:integer):integer;
 Var
  i,k:integer;
 begin
 k:=0;
  for i:=1 to n div 2 do
   if n mod i=0 then k:=k+i;
 Abso:=k;
 end;

begin
 for i:=1 to 10000 do
  for j:=1 to 10000 do
   if (i=Abso(j)) or (j=Abso(i)) then writeln(i,' ',j);
end.

(38.6k баллов)