Проверить являются ли два введенных числа дружественными. дружественные числа – пара чисел, каждое из которых равно сумме собственных делителей другого (делителем числа называется всякий его делитель, отличный от самого числа) дружественные числа были открыты последователями пифагора, которые, однако, знали только одну пару дружественных чисел — 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 текст «числа дружественные» или «числа не дружественные»

irinaeenjoy irinaeenjoy    1   29.09.2019 05:50    1

Ответы
Egoor123999 Egoor123999  10.09.2020 19:53

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

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

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика