В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
ppoppo
ppoppo
22.04.2022 11:32 •  Информатика

Два числа называются дружественными если сумма собственных делителей (то есть всех положительных делителей, отличных от самого́ числа) любого их них равна другому числу. Например, числа 220 и 284 дружественные. Выведите в порядке возрастания числа в диапазоне [2; 30000], имеющие дружественное число, большее чем само это число, и через пробел это дружественное число. Каждое следующее число из указанного диапазона выводите на новой строке

В ПАСКАЛЕ ABC

Показать ответ
Ответ:
yMHNk1
yMHNk1
18.07.2021 10:12

Объяснение:

program friendfullNumbers;

uses crt;

var a: longint;

b, i, s, s1: integer;

{a - первое число;

b - делители числа s;

i - делители числа a;

s - сумма делителей первого числа;

s1 - сумма делителей s}

begin

clrscr;

for a:= 2 to 30000 do {цикл для проверки первых чисел}

begin

s:=0;

for i:= 1 to a-1 do {находим все делители числа а,

исключая само число}

if a mod i = 0 then s:= s+i; {находим сумму делителей числа а}  

s1:=0;

for b:= 1 to s-1 do {цикл для проверки вторых чисел, которые являются суммой делителей первого числа}

if s mod b = 0 then s1:= s1 +b; {находим все делители числа s (сумма делителей числа а)}

if (s1=a) and (s< >a) then writeln (a, ' ', s); {сумма делителей суммы делителей числа а должна быть равна числу A, а сумма делителей числа A не должна быть равна этому числу}

end;  

end.

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота