Un nombre est en forme Goodstein simplifiée en base-b s'il est écrit comme
b + b + ... + b + c, 0 < c ≤ b
La séquence Goodstein simplifiée d'un nombre commence par l'écriture du nombre sous la forme Goodstein simplifiée en base 1, puis en remplaçant tous les 1 par 2 et en soustrayant 1. Réécrivez le résultat sous la forme Goodstein simplifiée en base 2, puis remplacez tous les 2 par 3 et soustrayez 1 , etc. jusqu'à ce que vous atteigniez 0.
Votre programme doit prendre une entrée entière positive et sortir / imprimer sa séquence Goodstein et terminer. Votre programme doit gérer des nombres inférieurs à 100, bien qu'il ne puisse pas se terminer dans un délai raisonnable.
Par exemple, étant donné 3 comme entrée, votre programme devrait sortir (le côté droit est juste une explication)
1 + 1 + 1 | 3 = 1 + 1 + 1
2 + 2 + 1 | Change 1's to 2's, then subtract 1. (2 + 2 + 2 - 1 = 2 + 2 + 1)
3 + 3 | 3 + 3 + 1 - 1 = 3 + 3
4 + 3 | 4 + 4 - 1 = 4 + 3
5 + 2 | 5 + 3 - 1 = 5 + 2
6 + 1 | 6 + 2 - 1 = 6 + 1
7 | 7 + 1 - 1 = 7
7 | 8 - 1 = 7
6 | Numbers are now lower than the base, so just keep subtracting 1.
5 |
4 |
3 |
2 |
1 |
0 | End
L'espacement n'a pas d'importance.
Critère gagnant:
C'est du code-golf . Le code le plus court gagne.