Веселая пара эквивалентностей равна 1 + 5 = 2 · 3 и 1 · 5 = 2 + 3 . Есть много подобных, другой 1 + 1 + 8 = 1 · 2 · 5 и 1 · 1 · 8 = 1 + 2 + 5 . В общем случае произведение n натуральных чисел равно сумме n натуральных чисел, и наоборот.
В этой задаче вы должны сгенерировать все такие комбинации натуральных чисел для входа n> 1 , исключая перестановки. Вы можете вывести их в любом разумном формате. Например, все возможные решения для n = 3 :
(2, 2, 2) (1, 1, 6)
(1, 2, 3) (1, 2, 3)
(1, 3, 3) (1, 1, 7)
(1, 2, 5) (1, 1, 8)
Программа, которая может генерировать наибольшее число комбинаций для наибольшего n за одну минуту на моей 2 ГБ оперативной памяти , выигрывает 64-разрядный ноутбук Intel Ubuntu. Если ваш ответ использует более 2 ГБ ОЗУ или написан на языке, который я не могу протестировать с помощью свободно доступного программного обеспечения, я не буду оценивать ваш ответ. Через две недели я проверю ответы и выберу победителя. Более поздние неконкурентные ответы все еще могут быть размещены, конечно.
Поскольку неизвестно, каковы полные наборы решений для всех n , вам разрешено публиковать ответы, которые генерируют неполные решения. Однако, если другой ответ генерирует (более) полное решение, даже если их максимум n меньше , этот ответ выигрывает.
Чтобы уточнить, вот процесс подсчета очков, чтобы определить победителя:
Я протестирую вашу программу с n = 2, n = 3 и т. Д. Я сохраню все ваши выводы и остановлюсь, когда ваша программа займет больше минуты или более 2 ГБ ОЗУ. Каждый раз, когда программа запускается для заданного ввода n, она будет остановлена, если это займет более 1 минуты.
Я смотрю на все результаты для всех программ для n = 2. Если одна программа дала меньше правильных решений, чем другая, эта программа исключается.
Повторите шаг 2 для n = 3, n = 4 и т. Д. Выигрывает последняя стоящая программа.