2.4 KiB
2.4 KiB
title | id | challengeType | videoUrl | localeTitle |
---|---|---|---|---|
Hailstone sequence | 595608ff8bcd7a50bd490181 | 5 | Secuencia de granizo |
Description
La secuencia de números de Hailstone se puede generar a partir de un entero positivo inicial, n mediante:
Si n es 1, entonces la secuencia termina. Si n es par, entonces el siguiente n de la secuencia= n/2
Si n es impar, entonces el siguiente n de la secuencia = (3 * n) + 1
La conjetura (no probada) de Collatz es que la secuencia de granizo para cualquier número inicial siempre termina.
La secuencia de granizo también se conoce como números de granizo (porque los valores suelen estar sujetos a múltiples descensos y ascensos como granizos en una nube), o como la secuencia de Collatz.
Tarea: Cree una rutina para generar la secuencia de granizo para un número. Usa la rutina para mostrar que la secuencia de granizo para el número 27 tiene 112 elementos, comenzando con27, 82, 41, 124
y terminando con 8, 4, 2, 1
Muestra el número menor de 100,000 que tiene la secuencia de granizo más larga junto con esa longitud de la secuencia. (¡Pero no muestres la secuencia real!) Ver también: xkcd (humorístico). Instructions
Tests
tests:
- text: <code>hailstoneSequence</code> es una función.
testString: 'assert(typeof hailstoneSequence === "function", "<code>hailstoneSequence</code> is a function.");'
- text: '<code>hailstoneSequence()</code> debe devolver <code>[[27,82,41,124,8,4,2,1], [351, 77031]]</code>'
testString: 'assert.deepEqual(hailstoneSequence(), res, "<code>hailstoneSequence()</code> should return <code>[[27,82,41,124,8,4,2,1], [351, 77031]]</code>");'
Challenge Seed
// noprotect
function hailstoneSequence () {
const res = [];
// Good luck!
return res;
}
After Test
console.info('after the test');
Solution
// solution required