如果数字写为,则以b-b简化的Goodstein形式表示。
b + b + ... + b + c, 0 < c ≤ b
数字的简化Goodstein序列开始于以1为底的简化Goodstein形式写数字,然后将所有1替换为2并减去1。将结果以base-2简化的Goodstein形式重写,然后将所有2替换为3并减去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
间距无关紧要。
获奖标准:
这是代码高尔夫球。最短的代码胜出。
1
是否需要包含最后一个0?
—
KSab
@KSab嗯....不,我想不是。
—
Simply Beautiful Art