(这可能很经典,但这是我在这里的第一篇文章,所以我还没有准备好花哨的东西)
所述古德斯坦序列被用于将输入数定义如下:
选择一个起始数字n,令b = 2并重复:
- 写Ñ在heriditary基地b表示法
- 取代所有的(b)s至(b 1)S IN Ñ和1。减去
- 输出n的新十进制评估
- 增量b
遗传基础符号是数字的分解,其中基础是出现的较大数字。例子:
83
在HB3中:3^(3+1)+2
226
在HB2中:2^(2^(2+1))+2^(2+1)+2
Goodstein序列始终以0结尾,但是它们往往会很快变得很大,因此不要求输出完整序列。
任务:
给定任何合理格式的输入数字,您的工作是至少输出该数字的Goodstein序列,直到达到10 ^ 25或0
例子:
Input: 3
Output: 3, 3, 3, 2, 1, 0
Input: 13
Output: 13, 108, 1279, 16092, 280711, 5765998, 134219479, 3486786855, 100000003325, 3138428381103, 106993205384715, 3937376385706415, 155568095557821073, 6568408355712901455, 295147905179352838943, 14063084452067725006646, 708235345355337676376131, 37589973457545958193377292
Input: 38
Output: 38, 22876792454990
细节:
2
您可以逐步添加一个测试用例吗?
—
Rod
欢迎来到PPCG!不错的第一个挑战!
—
FantaC
@ØrjanJohansen是的,错误是,
—
安德斯·卡塞格
int(q/base.b), q%base.b
需要是q//base.b, q%base.b
(或简称divmod(q, base.b)
),以避免浮点错误。
“至少到10 ^ 25或0为止”是否意味着该程序在达到0后继续运行(大概是-1,-2,-3,...)?
—
Anders Kaseorg '17