64 lines
2.3 KiB
Markdown
64 lines
2.3 KiB
Markdown
|
---
|
|||
|
id: 5900f37a1000cf542c50fe8d
|
|||
|
challengeType: 5
|
|||
|
title: 'Problem 14: Longest Collatz sequence'
|
|||
|
videoUrl: ''
|
|||
|
localeTitle: 问题14:最长的Collatz序列
|
|||
|
---
|
|||
|
|
|||
|
## Description
|
|||
|
<section id="description">为正整数集定义以下迭代序列: <div style="padding-left: 4em;"> <var>n</var> → <var>n</var> / 2( <var>n</var>是偶数) </div><div style="padding-left: 4em;"> <var>n</var> →3 <var>n</var> + 1( <var>n</var>为奇数) </div>使用上面的规则并从13开始,我们生成以下序列: <div style="text-align: center;"> 13→40→20→10→5→16→8→4→2→1 </div>可以看出,该序列(从13开始并在1结束)包含10个项。虽然尚未证实(Collatz问题),但是认为所有起始数字都在1处结束。在给定<code>limit</code>下,哪个起始数产生最长链?注意:一旦链条启动,条款允许超过一百万。 </section>
|
|||
|
|
|||
|
## Instructions
|
|||
|
<section id="instructions">
|
|||
|
</section>
|
|||
|
|
|||
|
## Tests
|
|||
|
<section id='tests'>
|
|||
|
|
|||
|
```yml
|
|||
|
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.");'
|
|||
|
|
|||
|
```
|
|||
|
|
|||
|
</section>
|
|||
|
|
|||
|
## Challenge Seed
|
|||
|
<section id='challengeSeed'>
|
|||
|
|
|||
|
<div id='js-seed'>
|
|||
|
|
|||
|
```js
|
|||
|
function longestCollatzSequence(limit) {
|
|||
|
// Good luck!
|
|||
|
return true;
|
|||
|
}
|
|||
|
|
|||
|
longestCollatzSequence(14);
|
|||
|
|
|||
|
```
|
|||
|
|
|||
|
</div>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</section>
|
|||
|
|
|||
|
## Solution
|
|||
|
<section id='solution'>
|
|||
|
|
|||
|
```js
|
|||
|
// solution required
|
|||
|
```
|
|||
|
</section>
|