Дружественные числа – это два натуральных числа, таких, что сумма всех делителей одного числа (меньших самого этого числа) равна другому числу, и наоборот. Найдите все пары дружественных чисел, каждое из которых меньше 10000. И...
Дружественные числа – это два натуральных числа, таких, что сумма всех делителей одного числа (меньших самого этого числа) равна другому числу, и наоборот. Найдите все пары дружественных чисел, каждое из которых меньше 10000. Используйте функцию, которая вычисляет сумму делителей числа.
Ответ(ы) на вопрос:
Гость
//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.
Не нашли ответ?
Похожие вопросы