freeCodeCamp/curriculum/challenges/spanish/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: Una secuencia de Collatz modificada

Description

Se obtiene una secuencia de enteros de Collatz modificada a partir de un valor inicial a1 de la siguiente manera:

an + 1 = an / 3 si an es divisible por 3. Denotaremos esto como un gran paso hacia abajo, "D".

an + 1 = (4an + 2) / 3 si dividido por 3 da un resto de 1. Denotaremos esto como un paso hacia arriba, "U".

an + 1 = (2an - 1) / 3 si dividido por 3 da un resto de 2. Denotaremos esto como un pequeño paso hacia abajo, "d".

La secuencia termina cuando algunos an = 1.

Dado cualquier entero, podemos enumerar la secuencia de pasos. Por ejemplo, si a1 = 231, entonces la secuencia {an} = {231,77,51,17,11,7,10,14,9,3,1} corresponde a los pasos "DdDddUUdDD".

Por supuesto, hay otras secuencias que comienzan con esa misma secuencia "DdDddUUdDD ....". Por ejemplo, si a1 = 1004064, entonces la secuencia es DdDddUUdDDDdUDUUUdDdUUDDDUdDD. De hecho, 1004064 es el a1> 106 más pequeño posible que comienza con la secuencia DdDddUUdDD.

¿Cuál es el a1> 1015 más pequeño que comienza con la secuencia "UDDDUdddDDUDDddDdDddDDUDDdUUDd"?

Instructions

Tests

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

Challenge Seed

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

euler277();

Solution

// solution required