L'arrière-plan
Les gens parlaient de la factorisation principale dans le chat et nous nous sommes retrouvés à parler de remboursements. Les répétitions sont un sous-ensemble des nombres appelés repdigits, qui sont des nombres constitués uniquement de chiffres répétitifs, comme 222
ou 4444444444444444
, mais les répétitions ne sont constituées que de 1
.
Les premiers repunits couple sont donc 1
, 11
, 111
, etc. Ceux - ci sont désignés par R n , de sorte que R 1 = 1
, R 2 = 11
, etc., et sont générés par la formule R(n) = (10^n - 1)/9
, avec n > 0
.
La factorisation en nombre premier de ces nombres de répétitions suit la séquence A102380 dans l'OEIS. Par exemple:
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
...
Le défi
Écrivez un programme ou une fonction qui, lorsqu'il reçoit un entier d'entrée n avec n >= 2
via STDIN ou équivalent , génère ou renvoie les nouveaux facteurs premiers pour R n , dans n'importe quel format pratique. "Nouveaux facteurs premiers" signifie ici tout x
où x
est un facteur premier de R n , mais x
n'est pas un facteur premier pour tout R k précédent , avec 1 <= k < n
(c'est-à-dire, si nous écrivons les facteurs premiers pour tous les R dans l'ordre, nous n'avons pas vu x
avant).
Les exemples
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)
Les extras:
- Votre code peut faire n'importe quoi ou rien si
n < 2
. - Vous pouvez supposer une limite supérieure « raisonnable » pour
n
fins de test et d' exécution - votre code ne sera pas prévu de sortie pourn = 10000000
, par exemple, mais votre algorithme doit travailler pour un tel cas , si la puissance de calcul illimitée donnée et le temps. - Voici un site dédié aux factorisations des remboursements pour référence.
- Je ne suis pas passé par les mathématiques, mais je propose une hypothèse selon laquelle chaque n a un résultat distinct pour cet algorithme - c'est-à-dire qu'aucun n n'existe tel que R n n'a pas de nouveaux facteurs.
J'offrirai une prime de 250 points si quelqu'un le prouve ou le réfute dans sa réponse.Thomas Kwa a proposé une preuve élégante et j'ai attribué la prime.