(для паскаля) два натуральных числа называются дружественными, если каждое из них равно сумме всех делителей другого (само другое число в качестве делителя не рассматривается). найти все пары натуральных дружественных чисел, меньших 50 000.

kotrboy kotrboy    2   30.08.2019 04:50    8

Ответы
Макс777333 Макс777333  03.08.2020 11:42
// PascalABC.NET 3.2, сборка 1379 от 21.01.2017
// Внимание! Если программа не работает, обновите версию!

function snd(n:integer):integer;
begin
  Result:=1;
  for var i:=2 to n div 2 do
    if n mod i=0 then Result+=i
end;

begin
  for var i:=1 to 50000 do
    for var j:=i+1 to 50000 do
      if (snd(i)=j) and (snd(j)=i) then Print((i,j))
end.

Результат
(220,284) (1184,1210) ... запускайте и ждите, если больше заняться нечем.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика