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

56 lines
1.2 KiB
Markdown
Raw Normal View History

---
id: 5900f37a1000cf542c50fe8d
title: 问题14最长的Collatz序列
challengeType: 5
videoUrl: ''
---
# --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。
```js
assert.strictEqual(longestCollatzSequence(14), 9);
```
`longestCollatzSequence(5847)`应返回3711。
```js
assert.strictEqual(longestCollatzSequence(5847), 3711);
```
`longestCollatzSequence(46500)`应返回35655。
```js
assert.strictEqual(longestCollatzSequence(46500), 35655);
```
`longestCollatzSequence(54512)`应返回52527。
```js
assert.strictEqual(longestCollatzSequence(54512), 52527);
```
`longestCollatzSequence(1000000)`应返回837799。
```js
assert.strictEqual(longestCollatzSequence(100000), 77031);
```
# --solutions--