2.5 KiB
2.5 KiB
id | challengeType | title | videoUrl | localeTitle |
---|---|---|---|---|
5900f37a1000cf542c50fe8d | 5 | Problem 14: Longest Collatz sequence | Problema 14: Maior Sequência Collatz |
Description
n → n / 2 ( n é par)
n → 3 n + 1 ( n é ímpar)
Usando a regra acima e começando com 13, geramos a seguinte sequência: 13 → 40 → 20 → 10 → 5 → 16 → 8 → 4 → 2 → 1
Pode ser visto que esta sequência (começando em 13 e terminando em 1) contém 10 termos. Embora ainda não tenha sido provado (Problema de Collatz), acredita-se que todos os números iniciais terminem em 1. Qual número inicial, abaixo do limit
dado, produz a cadeia mais longa? NOTA: Uma vez que a cadeia comece, os termos podem ultrapassar um milhão. Instructions
Tests
tests:
- text: <code>longestCollatzSequence(14)</code> deve retornar 9.
testString: 'assert.strictEqual(longestCollatzSequence(14), 9, "<code>longestCollatzSequence(14)</code> should return 9.");'
- text: <code>longestCollatzSequence(5847)</code> deve retornar 3711.
testString: 'assert.strictEqual(longestCollatzSequence(5847), 3711, "<code>longestCollatzSequence(5847)</code> should return 3711.");'
- text: <code>longestCollatzSequence(46500)</code> deve retornar 35655.
testString: 'assert.strictEqual(longestCollatzSequence(46500), 35655, "<code>longestCollatzSequence(46500)</code> should return 35655.");'
- text: <code>longestCollatzSequence(54512)</code> deve retornar 52527.
testString: 'assert.strictEqual(longestCollatzSequence(54512), 52527, "<code>longestCollatzSequence(54512)</code> should return 52527.");'
- text: <code>longestCollatzSequence(1000000)</code> deve retornar 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