freeCodeCamp/curriculum/challenges/portuguese/08-coding-interview-prep/project-euler/problem-277-a-modified-coll...

1.9 KiB

id challengeType title videoUrl localeTitle
5900f4811000cf542c50ff94 5 Problem 277: A Modified Collatz sequence Problema 277: Uma sequência de Collatz modificada

Description

Uma sequência Collatz modificada de inteiros é obtida a partir de um valor inicial a1 da seguinte maneira:

an + 1 = an / 3 se an é divisível por 3. Vamos denotar isto como um grande passo descendente, "D".

an + 1 = (4an + 2) / 3 se um dividido por 3 der um resto de 1. Denotaremos isso como um passo para cima, "U".

an + 1 = (2an - 1) / 3 se um dividido por 3 der um resto de 2. Denotaremos isso como um pequeno passo descendente, "d".

A sequência termina quando alguns an = 1.

Dado qualquer inteiro, podemos listar a seqüência de etapas. Por exemplo, se a1 = 231, então a sequência {an} = {231,77,51,17,11,7,10,14,9,3,1} corresponde às etapas "DdDddUUdDD".

Claro, existem outras sequências que começam com a mesma sequência "DdDddUUdDD ....". Por exemplo, se a1 = 1004064, a sequência é DdDddUUdDDDdUDUUUdDdUUDDDUdDD. De fato, 1004064 é o menor possível a1> 106 que começa com a seqüência DdDddUUdDD.

Qual é o menor a1> 1015 que começa com a sequência "UDDDUdddDDUDDddDdDddDDUDDdUUDd"?

Instructions

Tests

tests:
  - text: <code>euler277()</code> deve retornar 1125977393124310.
    testString: 'assert.strictEqual(euler277(), 1125977393124310, "<code>euler277()</code> should return 1125977393124310.");'

Challenge Seed

function euler277() {
  // Good luck!
  return true;
}

euler277();

Solution

// solution required