• Миша очень любит математику. Недавно он узнал о существовании совершенных чисел и пар дружественных чисел (совершенным в математике называется натуральное число, сумма собственных делителей которого, т.е. натуральных делителей, меньших самого числа, равна этому числу, парой дружественных чисел, называется такая пара натуральных чисел 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

Ответы 1

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

    • Автор:

      charlie10
    • 6 лет назад
    • 0
  • Добавить свой ответ

Еще вопросы

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years