2.3 KiB
2.3 KiB
id | challengeType | title | videoUrl | localeTitle |
---|---|---|---|---|
5900f37a1000cf542c50fe8d | 5 | Problem 14: Longest Collatz sequence | 问题14:最长的Collatz序列 |
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
下,哪个起始数产生最长链?注意:一旦链条启动,条款允许超过一百万。 Instructions
Tests
tests:
- text: <code>longestCollatzSequence(14)</code>应该返回9。
testString: 'assert.strictEqual(longestCollatzSequence(14), 9, "<code>longestCollatzSequence(14)</code> should return 9.");'
- text: <code>longestCollatzSequence(5847)</code>应返回3711。
testString: 'assert.strictEqual(longestCollatzSequence(5847), 3711, "<code>longestCollatzSequence(5847)</code> should return 3711.");'
- text: <code>longestCollatzSequence(46500)</code>应返回35655。
testString: 'assert.strictEqual(longestCollatzSequence(46500), 35655, "<code>longestCollatzSequence(46500)</code> should return 35655.");'
- text: <code>longestCollatzSequence(54512)</code>应返回52527。
testString: 'assert.strictEqual(longestCollatzSequence(54512), 52527, "<code>longestCollatzSequence(54512)</code> should return 52527.");'
- text: <code>longestCollatzSequence(1000000)</code>应返回837799。
testString: 'assert.strictEqual(longestCollatzSequence(1000000), 837799, "<code>longestCollatzSequence(1000000)</code> should return 837799.");'
Challenge Seed
function longestCollatzSequence(limit) {
// Good luck!
return true;
}
longestCollatzSequence(14);
Solution
// solution required