Проверить являются ли два введенных числа дружественными. Дружественные числа – пара...

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

Проверить являются ли два введенных числа дружественными. Дружественные числа – пара чисел, каждое из которых равно сумме собственных делителей другого (Делителем числа называется всякий его делитель, отличный от самого числа) Дружественные числа были открыты последователями Пифагора, которые, однако, знали только одну пару дружественных чисел — 220 и 284. Список делителей для 220: 1, 2, 4, 5, 10, 11, 20, 22, 44, 55 и 110, сумма делителей равна 284. Список делителей для 284: 1, 2, 4, 71 и 142, сумма делителей равна 220. Требуется написать программу, которая проверяет числа и выводит сообщение «числа дружественные» или «числа не дружественные» Программа должна: Прочитать из исходного файла task2. in два целых числа n,m Определить и вывести в файл task2.оut текст «числа дружественные» или «числа не дружественные»


Информатика (8.8k баллов) | 120 просмотров
0

Написать программу.

Дан 1 ответ
0 голосов
Правильный ответ

var n,m: integer;

f1,f2: text;

function sd(a:integer):integer;

var s,i:integer;

begin

s:=1;

for i:=2 to a div 2 do

if a mod i=0 then s:=s+i;

sd:=s;

end;

begin

assign(f1,'task2.in');

reset(f1);

assign(f2,'task2.out');

rewrite(f2);

readln(f1,n,m);

if (sd(n)=m)and(sd(m)=n)

then writeln(f2,'числа дружественные')

else writeln(f2,'числа не дружественные');

close(f1);

close(f2);

end.

Пример:

Файл task.in

220 284

Файл task.out

числа дружественные

(194k баллов)
0

Спасибо! А можно еще решить вот это? https://znanija.com/task/29876635