Un par divertido de equivalencias es 1 + 5 = 2 · 3 y 1 · 5 = 2 + 3 . Hay muchos como estos, otro es 1 + 1 + 8 = 1 · 2 · 5 y 1 · 1 · 8 = 1 + 2 + 5 . En general, un producto de n enteros positivos es igual a una suma de n enteros positivos, y viceversa.
En este desafío, debe generar todas esas combinaciones de enteros positivos para una entrada n> 1 , excluidas las permutaciones. Puede generarlos en cualquier formato razonable. Por ejemplo, todas las soluciones posibles para n = 3 son:
(2, 2, 2) (1, 1, 6)
(1, 2, 3) (1, 2, 3)
(1, 3, 3) (1, 1, 7)
(1, 2, 5) (1, 1, 8)
El programa que puede generar la mayor cantidad de combinaciones para la n más alta en un minuto en mi 2 GB de RAM , la computadora portátil Intel Ubuntu de 64 bits gana. Si su respuesta usa más de 2GB de RAM o está escrita en un idioma que no puedo evaluar con software disponible gratuitamente, no calificaré su respuesta. Probaré las respuestas dentro de dos semanas y elegiré el ganador. Más tarde, las respuestas no competitivas todavía se pueden publicar, por supuesto.
Como no se sabe cuáles son los conjuntos completos de soluciones para todas las n , puede publicar respuestas que generen soluciones incompletas. Sin embargo, si otra respuesta genera una solución (más) completa, incluso si su n máximo es menor , esa respuesta gana.
Para aclarar, aquí está el proceso de puntuación para decidir el ganador:
Probaré su programa con n = 2, n = 3, etc. Guardo todas sus salidas y me detengo cuando su programa tarda más de un minuto o más de 2 GB de RAM. Cada vez que se ejecuta el programa para una entrada dada n, se terminará si lleva más de 1 minuto.
Miro todos los resultados para todos los programas para n = 2. Si un programa produjo soluciones menos válidas que otro, ese programa se elimina.
Repita el paso 2 para n = 3, n = 4, etc. El último programa en pie gana.