Nota: este desafío ha sido publicado en el sandbox .
Introducción
Este desafío está inspirado en el Putnam B1 2009 , un problema en una competencia de pregrado en matemáticas. El problema es el siguiente:
Demuestre que cada número racional positivo puede escribirse como un cociente de productos de factoriales de primos (no necesariamente distintos). Por ejemplo,
Desafío
Su desafío es tomar un par de enteros positivos relativamente primos, que representan el numerador y el denominador de un número racional positivo (o solo el número racional en sí) como entrada, y generar dos listas (o matrices, etc.) de números primos para que el número racional ingresado es igual a la razón del producto de los factoriales de los primos en la primera lista al producto de los factoriales de los primos en la segunda lista.
Notas
- Puede que no haya primos que contengan tanto en la primera lista como en la segunda lista; sin embargo, una prima puede aparecer tantas veces como se desee en cualquiera de las listas.
- Se puede suponer que las entradas son (no estrictamente) entre 1 y 65535; sin embargo, no se puede suponer que los factores de los números que necesitará generar estarán en este rango.
Ejemplo de entrada y salida
Aquí hay ejemplos de entradas y salidas legales.
input=>output
10,9 => [2,5],[3,3,3]
2,1 => [2],[]
3,1 => [3],[2]
1,5 => [2,3,2],[5] (elements of a list may be in any order)
3,2 => [3],[2,2]
6,1 => [3],[]
Las entradas (2,2), (0,3), (3,0), (3,6) y (1,65536) son entradas ilegales (es decir, su programa no necesita comportarse de manera particular en ellas ) Aquí hay algunos ejemplos de resultados ilegales:
1,2 => [2],[2,2] (2 is in both returned lists)
5,2 => [5],[2,4] (4 is not prime)
2,1 => [2],[1] (1 is not prime either)
3,2 => [3],[2] (3!/2! = 3, not 3/2)
Puntuación
Este es el código de golf , por lo que gana la puntuación más baja en bytes.
10/9
lugar de un par de números 10
y 9
?
10/9
=[2*5]/[3*3]
=[(2!/1!) * (5!/4!)] / [(3!/2!) * (3!/2!)]
=[2! * 5! * 2! * 2!] / [3! * 3! * 1! * 4!]
=(2! * 2! * 2! *5!) / (3! * 3! * 4!)
.