我认为Collatz猜想已经众所周知。但是如果我们颠倒规则怎么办?
从整数n> = 1开始。
重复以下步骤:
如果n为偶数,则将其乘以3并加1。
如果n为奇数,则减去1并除以2。
达到0时停止
打印重复的数字。
测试用例:
1 => 1, 0
2 => 2, 7, 3, 1, 0
3 => 3, 1, 0
10 => 10, 31, 15, 7, 3...
14 => 14, 43, 21, 10, ...
规则:
该序列不适用于许多数字,因为它进入了无限循环。您无需处理这些情况。仅打印上述测试用例就足够了。
我建议减去1并除以2以得到一个有效的整数以继续,但是并不需要以这种方式进行计算。您可以将其除以2并转换为整数或将提供预期输出的任何其他方法。
您还需要打印初始输入。
输出不需要格式化为测试用例。这只是一个建议。但是,必须遵守迭代顺序。
最小的代码获胜。
0
在最后打印?