Миша очень любит математику. Недавно он узнал о существовании совершенных чисел и пар...

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

Миша очень любит математику. Недавно он узнал о существовании совершенных чисел и пар дружественных чисел (совершенным в математике называется натуральное число, сумма собственных делителей которого, т.е. натуральных делителей, меньших самого числа, равна этому числу, парой дружественных чисел, называется такая пара натуральных чисел a и b, что сумма собственных делителей a равна b, а сумма собственных делителей b равна a). Ему очень захотелось уметь их находить в различных множествах натуральных чисел. Более того, Миша пошёл дальше и придумал определение дружественной цепочки натуральных чисел: конечную последовательность чисел a1, a2, ..., ak-1, ak он называет дружественной цепочкой, если сумма всех собственных делителей ai равна ai+1 для любого а сумма собственных делителей ak равна a1 (в частности совершенные числа являются дружественной цепочкой длины 1, пары дружественных чисел - дружественными цепочками длины 2). Миша хочет уметь находить в различных конечных множествах натуральных чисел дружественные цепочки чисел максимальной длины. Помогите ему в этом - напишите соответствующую программу. Формат ввода В первой строке записано натуральное число n - количество чисел в множестве (1 ≤ n ≤ 104). Во второй строке через пробел записаны сами натуральные числа, образующие интересующее Мишу множество. Все числа различны (т.е. нет двух одинаковых чисел) и не превосходят 108. Формат вывода В первой строке выходного файла необходимо вывести длину наиболее длинной дружественной цепочки, которую можно составить из чисел данного множества. Если дружественные цепочки составить невозможно - необходимо вывести число 0. Во второй строке необходимо вывести дружественную цепочку данной длины, числа должны быть записаны через пробел, числа должны идти в том порядке, в котором они образуют цепочку, начинаться цепочка может с любого её члена. Если ответов несколько, можно вывести любой из них. Пример 1 Ввод Вывод 3 10 15 6 1 6 Пример 2 Ввод Вывод 4 47 300 220 284 2 284 220


Информатика (24 баллов) | 25 просмотров
Дан 1 ответ
0 голосов

Машенька,слишком легкая задача чтобы писать программу.

(18 баллов)