O fundo
O pessoal estava falando sobre fatoração privilegiada no bate - papo e nos encontramos falando sobre repunits. Repunits são um subconjunto dos números conhecidos como repdigits, que são números que consistem apenas em dígitos repetidos, como 222ou 4444444444444444, mas as repunits consistem apenas em 1.
Os primeiros repunits par são, portanto 1, 11, 111, etc. Estes são referidos por R n , então R 1 = 1, R 2 = 11, etc, e são geradas pela fórmula R(n) = (10^n - 1)/9, com n > 0.
A fatoração primária desses números de repunit segue a sequência A102380 no OEIS. Por exemplo:
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
...
O desafio
Escreva um programa ou função que, quando recebe um número inteiro de entrada n com n >= 2via STDIN ou equivalente , gera ou retorna os novos fatores primos para R n , em qualquer formato conveniente. "Novos fatores primos" aqui significa tudo xonde xé um fator primo de R n , mas xnão é um fator primo para qualquer R k anterior , com 1 <= k < n(ou seja, se escrevermos os fatores primos para todo R em sequência, não vimos xantes).
Os exemplos
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)
Os extras:
- Seu código pode fazer qualquer coisa ou nada se
n < 2. - Você pode assumir um limite superior "razoável" para
nfins de teste e execução - não se espera que seu código seja geradon = 10000000, por exemplo, mas seu algoritmo deve funcionar nesse caso se houver tempo e capacidade computacionais ilimitados. - Aqui está um site dedicado às fatorações de repunits para referência.
- Eu não tenho ido através da matemática, mas eu propor uma hipótese que cada n tem um resultado distinto para este algoritmo - isto é, sem n existe tal que R n não tem fatores novos.
Oferecerei uma recompensa de 250 pontos se alguém provar ou refutar isso em sua resposta.Thomas Kwa propôs uma prova elegante e eu concedi a recompensa.
