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

2.3 KiB
Raw Blame History

id challengeType title videoUrl localeTitle
5900f37a1000cf542c50fe8d 5 Problem 14: Longest Collatz sequence 问题14最长的Collatz序列

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下,哪个起始数产生最长链?注意:一旦链条启动,条款允许超过一百万。

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