1.2 KiB
1.2 KiB
id | title | challengeType | videoUrl |
---|---|---|---|
5900f37a1000cf542c50fe8d | 问题14:最长的Collatz序列 | 5 |
--description--
为正整数集定义以下迭代序列:
n
→ n
/ 2( n
是偶数)
n
→3 n
+ 1( n
为奇数)
使用上面的规则并从13开始,我们生成以下序列:
13→40→20→10→5→16→8→4→2→1
可以看出,该序列(从13开始并在1结束)包含10个项。虽然尚未证实(Collatz问题),但是认为所有起始数字都在1处结束。在给定limit
下,哪个起始数产生最长链?注意:一旦链条启动,条款允许超过一百万。
--hints--
longestCollatzSequence(14)
应该返回9。
assert.strictEqual(longestCollatzSequence(14), 9);
longestCollatzSequence(5847)
应返回3711。
assert.strictEqual(longestCollatzSequence(5847), 3711);
longestCollatzSequence(46500)
应返回35655。
assert.strictEqual(longestCollatzSequence(46500), 35655);
longestCollatzSequence(54512)
应返回52527。
assert.strictEqual(longestCollatzSequence(54512), 52527);
longestCollatzSequence(1000000)
应返回837799。
assert.strictEqual(longestCollatzSequence(100000), 77031);