3.2 KiB
3.2 KiB
title | id | challengeType | videoUrl | localeTitle |
---|---|---|---|---|
Hailstone sequence | 595608ff8bcd7a50bd490181 | 5 | Последовательность градиента |
Description
Последовательность чисел Hailstone может быть сгенерирована из начального положительного целого числа, n:
Если n равно 1, последовательность заканчивается. Если n четно, то следующее n последовательности= n/2
Если n нечетно, то следующее n последовательности = (3 * n) + 1
(Неподтвержденная) гипотеза Collatz заключается в том, что последовательность градиентов для любого начального числа всегда заканчивается.
Последовательность градиента также известна как номера градиента (поскольку значения обычно подвержены нескольким спуску и восхождениям, таким как град в облаке) или как последовательность Collatz.
Задача: создать процедуру для генерации последовательности градиента для числа. Используйте процедуру, чтобы показать, что последовательность градиента для числа 27 содержит 112 элементов, начиная с27, 82, 41, 124
и заканчивая 8, 4, 2, 1
Покажите число менее 100 000, которое имеет самую длинную последовательность градиента вместе с этим длина последовательности. (Но не показывайте действительную последовательность!) См. Также: xkcd (humourous). Instructions
Tests
tests:
- text: <code>hailstoneSequence</code> - это функция.
testString: 'assert(typeof hailstoneSequence === "function", "<code>hailstoneSequence</code> is a function.");'
- text: '<code>hailstoneSequence()</code> должен возвращать <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