El fondo
La gente hablaba de factorización principal en el chat y nos encontramos hablando de repunidades. Las repunidades son un subconjunto de los números conocidos como repdigits, que son números que consisten solo en dígitos repetidos, como 222o 4444444444444444, pero que consisten solo en repunits 1.
El primer par de repunits son, por tanto 1, 11, 111, etc. Estos se conocen por R n , por lo que R 1 = 1, R 2 = 11, etc., y son generados por la fórmula R(n) = (10^n - 1)/9, con n > 0.
La factorización prima de estos números de repunidad sigue la secuencia A102380 en el OEIS. Por ejemplo:
R 1 = 1
R 2 = 11
R 3 = 111 = 3 * 37
R 4 = 1111 = 11 * 101
R 5 = 11111 = 41 * 271
R 6 = 111111 = 3 * 7 * 11 * 13 * 37
R 7 = 1111111 = 239 * 4649
...
El reto
Escriba un programa o función que, cuando se le da un número entero de entrada n a n >= 2través de STDIN o equivalente , genera o devuelve los factores primos novedosos para R n , en cualquier formato conveniente. "Novel factores primos" aquí se refiere a todos x, donde xes un factor primordial de R n , pero xno es un factor primordial para cualquier anterior R k , con 1 <= k < n(es decir, si escribimos los factores primos para todos R en la secuencia, hemos visto que no xantes de).
Los ejemplos
Input: 6
Output: 7, 13
(because 3, 11, and 37 are factors of a smaller R_k)
Input: 19
Output: 1111111111111111111
(because R_19 is prime, so no other factors)
Input: 24
Output: 99990001
(because 3, 7, 11, 13, 37, 73, 101, 137, 9901 are factors of a smaller R_k)
Input: 29
Output: 3191, 16763, 43037, 62003, 77843839397
(because no factors of R_29 are also factors of a smaller R_k)
Los extras:
- Su código puede hacer cualquier cosa o nada si
n < 2. - Puede suponer un límite superior "razonable" para
nfines de prueba y ejecución: no se esperará que su código salgan = 10000000, por ejemplo, pero su algoritmo debería funcionar para tal caso si se le da una potencia y tiempo de cómputo ilimitados. - Aquí hay un sitio dedicado a las factorizaciones de repunidades como referencia.
- No he pasado por las matemáticas, pero propongo una hipótesis de que cada n tiene un resultado distinto para este algoritmo, es decir, no existe n tal que R n no tenga factores novedosos.
Ofreceré una recompensa de 250 puntos si alguien prueba o refuta eso en su respuesta.Thomas Kwa propuso una prueba elegante , y le otorgué la recompensa.
