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 222ou 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 >= 2via 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 xoù xest un facteur premier de R n , mais xn'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 xavant).
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
nfins 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.
