Files
freeCodeCamp/curriculum/challenges/spanish/08-coding-interview-prep/project-euler/problem-238-infinite-string-tour.spanish.md
2018-10-08 13:51:51 -04:00

2.1 KiB

id, localeTitle, challengeType, title
id localeTitle challengeType title
5 5900f45b1000cf542c50ff6d 5 Problem 238: Infinite string tour

Description

Crea una secuencia de números utilizando el generador de números pseudoaleatorios "Blum Blum Shub":

s0

14025256 sn + 1

sn2 mod 20300713

Concatena estos números s0s1s2 ... para crear una cadena w de longitud infinita Entonces, w = 14025256741014958470038053646…

Para un entero positivo k, si no existe una subcadena de w con una suma de dígitos igual a k, p (k) se define como cero. Si al menos una subcadena de w existe con una suma de dígitos igual a k, definimos p (k) = z, donde z es la posición inicial de la primera subcadena de este tipo.

Por ejemplo:

Las subcadenas 1, 14, 1402,… con sumas respectivas de dígitos iguales a 1, 5, 7,… comienzan en la posición 1, por lo tanto, p (1) = p (5) = p ( 7) =… = 1.

Las subcadenas 4, 402, 4025,… con sumas respectivas de dígitos iguales a 4, 6, 11,… comienzan en la posición 2, por lo tanto, p (4) = p (6) = p (11) = ... = 2.

Las subcadenas 02, 0252, ... con sumas respectivas de dígitos iguales a 2, 9, ... comienzan en la posición 3, por lo tanto p (2) = p (9) = ... = 3.

Tenga en cuenta que la subcadena 025 que comienza en la posición 3, tiene una suma de dígitos igual a 7, pero hubo una subcadena anterior (que comienza en la posición 1) con una suma de dígitos igual a 7, por lo que p (7) = 1 , no 3.

Podemos verificar que, para 0 <k ≤ 103, ∑ p (k) = 4742.

Encuentre ∑ p (k), para 0 <k ≤ 2 · 1015.

Instructions

Tests

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

Challenge Seed

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

euler238();

Solution

// solution required