Un numero è in forma Goodstein semplificata in base b se è scritto come
b + b + ... + b + c, 0 < c ≤ b
La sequenza semplificata di un numero di Goodstein inizia con la scrittura del numero nel modulo di Merci semplificato in base 1, quindi sostituendo tutti gli 1 con 2 e sottraendo 1. Riscrivere il risultato nel modulo di Mercen semplificato in base 2, quindi sostituire tutti i 2 con 3 e sottrarre 1 , ecc. fino a raggiungere 0.
Il tuo programma è di prendere un numero intero positivo di input e output / stampare la sequenza di Goodstein e terminare. Il tuo programma dovrebbe gestire numeri inferiori a 100, anche se potrebbe non terminare in un lasso di tempo ragionevole.
Ad esempio, dato 3 come input, il tuo programma dovrebbe emettere (il lato destro è solo una spiegazione)
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
La spaziatura non ha importanza.
Criterio vincente:
Questo è code-golf . Il codice più corto vince.