freeCodeCamp/curriculum/challenges/russian/08-coding-interview-prep/rosetta-code/hailstone-sequence.russian.md

3.2 KiB
Raw Blame History

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