printТеория чисел

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

Ограничения: время – 1s/2s, память – 32MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0)

Два различных натуральных числа называются дружественными, если первое из них равно сумме делителей второго числа, за исключением самого второго числа, а второе равно сумме делителей первого числа, за исключением самого первого числа. Требуется найти все пары дружественных чисел, оба из которых принадлежат промежутку от `M` до `N`.
Ввод
В первой строке находятся целые числа `M` и `N\ (1\ ≤\ M\ ≤\ N\ ≤\ 1\ 000\ 000)`.
Вывод
В каждой строке вывести по паре чисел через пробел. Первое число пары должно быть меньше второго. Строки должны быть отсортированы в порядке возрастания первого числа пары. Если пар дружественных чисел в промежутке нет, вывести "Absent".

Пример ввода 1

200 300

Пример вывода 1

220 284
Комментарий: 220=1+2+4+71+142 (все делители числа 284); 284=1+2+4+5+10+11+20+22+44+55+110 (все делители числа 220).

Пример ввода 2

200 250

Пример вывода 2

Absent

Пример ввода 3

185000 205000

Пример вывода 3

185368 203432
196724 202444
Источник: Абрамов, Меньшиков
loading