freeCodeCamp/curriculum/challenges/russian/08-coding-interview-prep/project-euler/problem-238-infinite-string...

56 lines
2.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

---
id: 5900f45b1000cf542c50ff6d
challengeType: 5
title: 'Problem 238: Infinite string tour'
videoUrl: ''
localeTitle: 'Задача 238: Бесконечная струнная экскурсия'
---
## Description
<section id="description"> Создайте последовательность чисел, используя генератор псевдослучайных чисел «Blum Blum Shub»: <p> s0 = 14025256 sn + 1 = sn2 mod 20300713 </p><p> Объедините эти числа s0s1s2 ..., чтобы создать строку w бесконечной длины. Затем w = 14025256741014958470038053646 ... </p><p> Для положительного целого k, если подстрока w не существует с суммой цифр, равной k, p (k) определяется как нуль. Если существует хотя бы одна подстрока w с суммой цифр, равной k, определим p (k) = z, где z - начальная позиция самой ранней такой подстроки. </p><p> Например: </p><p> Подстроки 1, 14, 1402, ... с соответствующими суммами цифр, равными 1, 5, 7, ... начинаются в позиции 1, следовательно, p (1) = p (5) = p (7) = ... = 1. </p><p> Подстроки 4, 402, 4025, ... с соответствующими суммами цифр, равными 4, 6, 11, ... начинаются в позиции 2, следовательно, p (4) = p (6) = p (11) = ... = 2. </p><p> Подстроки 02, 0252, ... с соответствующими суммами цифр, равными 2, 9, ... начинаются в позиции 3, поэтому p (2) = p (9) = ... = 3. </p><p> Обратите внимание, что подстрока 025, начиная с позиции 3, имеет сумму цифр, равную 7, но была ранняя подстрока (начиная с позиции 1) с суммой цифр, равной 7, поэтому p (7) = 1, а не 3. </p><p> Мы можем проверить, что при 0 &lt;k ≤ 103, Σ p (k) = 4742. </p><p> Найти Σ p (k), при 0 &lt;k ≤ 2 · 1015. </p></section>
## Instructions
<section id="instructions">
</section>
## Tests
<section id='tests'>
```yml
tests:
- text: <code>euler238()</code> должен вернуть 9922545104535660.
testString: 'assert.strictEqual(euler238(), 9922545104535660, "<code>euler238()</code> should return 9922545104535660.");'
```
</section>
## Challenge Seed
<section id='challengeSeed'>
<div id='js-seed'>
```js
function euler238() {
// Good luck!
return true;
}
euler238();
```
</div>
</section>
## Solution
<section id='solution'>
```js
// solution required
```
</section>