Files
2022-04-11 19:34:39 +05:30

60 lines
2.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
id: 5900f45b1000cf542c50ff6d
title: 'Завдання 238: Нескінченна подорож по рядках'
challengeType: 5
forumTopicId: 301883
dashedName: problem-238-infinite-string-tour
---
# --description--
Створіть послідовність чисел, використовуючи генератор псевдовипадкових чисел "Блум Блум Шуба":
$$ s_0 = 14025256 \\\\
s_{n + 1} = {s_n}^2 \\; mod \\; 20\\,300\\,713 $$
Об'єднайте ці числа $s_0s_1s_2\ldots$, щоб створити рядок $w$ нескінченної довжини. Тоді $w = 14025256741014958470038053646\ldots$
Для додатного цілого числа $k$, якщо не існує підрядка $w$ з сумою чисел, що дорівнює $k$, $p(k)$ визначено як 0. Якщо існує принаймні один підрядок $w$ з сумою чисел, що дорівнює $k$, визначаємо $p(k) = z$, де $z$ — початкова позиція найпершого такого підрядка.
Наприклад:
Підрядки 1, 14, 1402, … суми цифр яких дорівнюють 1, 5, 7, … починаються з позиції 1, отже, $p(1) = p(5) = p(7) = \ldots = 1$.
Підрядки 4, 402, 4025, … суми цифр яких дорівнюють 4, 6, 11, … починаються з позиції 2, отже, $p(4) = p(6) = p(11) = \ldots = 2$.
Підрядки 02, 0252, … суми цифр яких дорівнюють 2, 9, … починаються з позиції 3, отже, $p(2) = p(9) = \ldots = 3$.
Зауважте, що підрядок 025, що починається з позиції 3, має суму чисел, що дорівнює 7, проте перед ним маємо підрядок (що починається з позиції 1) з сумою чисел, що дорівнює 7, тому $p(7) = 1$, не 3.
Можемо перевірити, що для $0 < k ≤ {10}^3$, $\sum p(k) = 4742$.
Знайдіть $\sum p(k)$, для $0 < k ≤ 2 \times {10}^{15}$.
# --hints--
`infiniteStringTour()` має повернути `9922545104535660`.
```js
assert.strictEqual(infiniteStringTour(), 9922545104535660);
```
# --seed--
## --seed-contents--
```js
function infiniteStringTour() {
return true;
}
infiniteStringTour();
```
# --solutions--
```js
// solution required
```