freeCodeCamp/curriculum/challenges/chinese/10-coding-interview-prep/project-euler/problem-14-longest-collatz-...

1.2 KiB
Raw Blame History

id title challengeType videoUrl
5900f37a1000cf542c50fe8d 问题14最长的Collatz序列 5

--description--

为正整数集定义以下迭代序列:

nn / 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);

--solutions--