2.5 KiB
2.5 KiB
id | challengeType | title | videoUrl | localeTitle |
---|---|---|---|---|
5900f37a1000cf542c50fe8d | 5 | Problem 14: Longest Collatz sequence | Problema 14: la secuencia más larga de Collatz |
Description
n → n / 2 ( n es par)
n → 3 n + 1 ( n es impar)
Usando la regla anterior y comenzando con 13, generamos la siguiente secuencia: 13 → 40 → 20 → 10 → 5 → 16 → 8 → 4 → 2 → 1
Se puede ver que esta secuencia (comenzando en 13 y terminando en 1) contiene 10 términos. Aunque aún no se ha probado (Problema de Collatz), se piensa que todos los números iniciales terminan en 1. ¿Qué número inicial, debajo del limit
dado, produce la cadena más larga? NOTA: Una vez que la cadena comienza, se permite que los términos superen el millón. Instructions
Tests
tests:
- text: <code>longestCollatzSequence(14)</code> debe devolver 9.
testString: 'assert.strictEqual(longestCollatzSequence(14), 9, "<code>longestCollatzSequence(14)</code> should return 9.");'
- text: <code>longestCollatzSequence(5847)</code> debe devolver 3711.
testString: 'assert.strictEqual(longestCollatzSequence(5847), 3711, "<code>longestCollatzSequence(5847)</code> should return 3711.");'
- text: <code>longestCollatzSequence(46500)</code> debe devolver 35655.
testString: 'assert.strictEqual(longestCollatzSequence(46500), 35655, "<code>longestCollatzSequence(46500)</code> should return 35655.");'
- text: <code>longestCollatzSequence(54512)</code> debe devolver 52527.
testString: 'assert.strictEqual(longestCollatzSequence(54512), 52527, "<code>longestCollatzSequence(54512)</code> should return 52527.");'
- text: <code>longestCollatzSequence(1000000)</code> debe devolver 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