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

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

В ПАСКАЛЕ ABC

Ответ:
ivahinzeha475
ivahinzeha475
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
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?