InstruçÔes

SequĂȘncia de granizo

A sequĂȘncia de nĂșmeros de granizo (hailstone) pode ser gerada a partir de um inteiro inicial positivo, n da seguinte forma:
  • Se n for 1, a sequĂȘncia termina
  • Se n for even (par), o prĂłximo n da sequĂȘncia serĂĄ = n/2
  • Se n for odd (Ă­mpar), o prĂłximo n da sequĂȘncia serĂĄ = (3 * n) + 1
A conjetura de Collatz (nĂŁo comprovada) Ă© que a sequĂȘncia de granizo (hailstone) para qualquer nĂșmero inicial termina sempre. A sequĂȘncia de granizo tambĂ©m Ă© conhecida como nĂșmeros granizo (porque os valores geralmente estĂŁo sujeitos a mĂșltiplas descidas e subidas, como granizo - hailstone, em inglĂȘs - em uma nuvem), ou como a sequĂȘncia de Collatz.

O que fazer:

1. Crie uma rotina para gerar a sequĂȘncia de Hailstone para um nĂșmero 2. Sua função deve retornar um array com o nĂșmero menor que limit que possui a sequĂȘncia hailstone mais longa e o comprimento dessa sequĂȘncia. (Mas nĂŁo mostre a sequĂȘncia real!)

Critérios de Aceitação:

Testes:

  • `hailstoneSequence` deve ser uma função.
  • `hailstoneSequence(30)` deve retornar um array.
  • `hailstoneSequence(30)` deve retornar `[27, 112]`.
  • `hailstoneSequence(50000)` deve retornar `[35655, 324]`.
  • `hailstoneSequence(100000)` deve retornar `[77031, 351]`.

Console