Есть легенда, кторая гласит, что, когда Пифагора спросили, что такое дружба, он ответил: "220 и 284". Так возник термин "дружественные числа". Дружественными числами являются два натуральных числа, таких, что каждое из них равно сумме всех натуральных делителей другого, исключая само это другое число. Действительно, 220 и 284 являются дружественными числами, поскольку сумма делителей числа 220 - это $$1+2+4+5+10+11+20+22+44+55+110=284,$$ а сумма делителей числа 284 - это $$1+2+4+71+142=220.$$ Можно дать и такое определение дружественных чисел: сумма всех делителей одного и другого такого числа равна сумме обоих чисел. На протяжении веков 220 и 284 были единственной известной парой дружественных чисел. Только в середине XX в., проверяя числа до 1 000 000, нашли 42 пары дружественных чисел.
Program druzestvennie;
const n=10000; {верхняя граница интервала}
var del:array [2..n] of integer; {сумма делителей}
i, j, k, p: integer;
begin
for k:=2 to n do {все числа делятся}
del[k]:=1+k; {на 1 и самих себя}
{сумма делителей}
for k:=2 to n div 2 do
begin
p:=k+k;
while p<=n do
begin
del[p]:=del[p]+k;
p:=p+k
end
end;
{дружественные числа}
for i:=2 to n-1 do
for j:=i+1 to n do
if (del[i]=i+j) and (del[j]=i+j)
then writeln(i,' ', j) {пара дружественных чисел}
end.
Выполнив эту программу, ЭВМ нашла пять пар дружественных чисел:220 284
1184 1210
2620 2924
5020 5664
6232 6368