freeCodeCamp/curriculum/challenges/portuguese/08-coding-interview-prep/rosetta-code/hailstone-sequence.portugue...

2.3 KiB

title id challengeType videoUrl localeTitle
Hailstone sequence 595608ff8bcd7a50bd490181 5 Sequência de granizo

Description

A sequência de números Hailstone pode ser gerada a partir de um inteiro positivo inicial, n por:

Se n é 1, a sequência termina. Se n é par, então o próximo n da sequência = n/2 Se n é ímpar, então o próximo n da sequência = (3 * n) + 1

A conjectura de Collatz (não comprovada) é que a sequência do granizo para qualquer número inicial sempre termina.

A sequência do granizo é também conhecida como números de granizo (porque os valores geralmente estão sujeitos a múltiplas descidas e subidas como granizo em uma nuvem), ou como a sequência Collatz.

Tarefa: Crie uma rotina para gerar a seqüência de granizo para um número. Use a rotina para mostrar que a sequência do granizo para o número 27 tem 112 elementos começando com 27, 82, 41, 124 e terminando com 8, 4, 2, 1 Mostre o número menor que 100.000 que tem a maior sequência de granizo junto com aquela comprimento da sequência. (Mas não mostre a seqüência real!) Veja também: xkcd (humourous).

Instructions

Tests

tests:
  - text: <code>hailstoneSequence</code> é uma função.
    testString: 'assert(typeof hailstoneSequence === "function", "<code>hailstoneSequence</code> is a function.");'
  - text: '<code>hailstoneSequence()</code> deve retornar <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