次のように記述されている場合、数値はbase-b簡略化されたGoodstein形式です。
b + b + ... + b + c, 0 < c ≤ b
番号の簡略化されたグッドシュタインシーケンスは、番号をベース1の簡略化されたグッドシュタイン形式で記述し、すべての1を2に置き換えて1を減算することから始まります。など、0に達するまで。
あなたのプログラムは、正整数の入力を受け取り、そのGoodsteinシーケンスを出力/印刷して終了します。プログラムは100未満の数値を処理する必要がありますが、妥当な時間内に終了しない場合があります。
たとえば、入力として3を指定すると、プログラムは出力するはずです(右側は単なる説明です)
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
間隔は関係ありません。
受賞基準:
これはcode-golfです。最短のコードが優先されます。
1
最後の0を含める必要がありますか?
—
KSab
@KSab Hm ....いいえ、そうではないと思います。
—
単に美しいアート