60 lines
1.9 KiB
Markdown
60 lines
1.9 KiB
Markdown
---
|
||
id: 5900f5141000cf542c510027
|
||
title: 'Задача 423: сума послідовних простих чисел'
|
||
challengeType: 5
|
||
forumTopicId: 302093
|
||
dashedName: problem-423-consecutive-die-throws
|
||
---
|
||
|
||
# --description--
|
||
|
||
Нехай $n$ буде додатним цілим числом.
|
||
|
||
6-бічний кубик кидають $n$ разів. Нехай $c$ буде кількістю кидків поспіль, що дають однакове значення.
|
||
|
||
Наприклад, якщо $n = 7$ і значення кидків кубика є (1, 5, 6, 6, 6, 3), тоді наступні кидки поспіль дають однакове значення:
|
||
|
||
$$\begin{align} & (\underline{1}, \underline{1}, 5, 6, 6, 6, 3) \\\\
|
||
& (1, 1, 5, \underline{6}, \underline{6}, 6, 3) \\\\ & (1, 1, 5, 6, \underline{6}, \underline{6}, 3) \end{align}$$
|
||
|
||
Таким чином, $c = 3$ за (1, 5, 6, 6, 3).
|
||
|
||
Визначте $C(n)$ як кількість результатів кидання 6-стороннього кубика $n$ разів, так що $c$ не перевищує $π(n)$.<sup>1</sup>
|
||
|
||
Наприклад, $C(3) = 216$, $C(4) = 1290$, $C(11) = 361\\,912\\,500$ та $C(24) = 4\\,727\\,547\\,363\\,281\\,250\\,250\\,000$.
|
||
|
||
Визначте $S(L)$ як $\суму C(n)$ за $1 ≤ n L$.
|
||
|
||
Наприклад, $S(50)\bmod 1\\,000\\,007 = 832\\,833\\,871$.
|
||
|
||
Знайдіть $S(50\\,000\\,000)\bmod 1\\,000\\,000\\,007$.
|
||
|
||
<sup>1</sup> $π$ позначає функцію підрахунку простих чисел, тобто $π(n)$ це кількість простих чисел $≤ n$.
|
||
|
||
# --hints--
|
||
|
||
`consecutiveDieThrows()` should return `653972374`.
|
||
|
||
```js
|
||
assert.strictEqual(consecutiveDieThrows(), 653972374);
|
||
```
|
||
|
||
# --seed--
|
||
|
||
## --seed-contents--
|
||
|
||
```js
|
||
function consecutiveDieThrows() {
|
||
|
||
return true;
|
||
}
|
||
|
||
consecutiveDieThrows();
|
||
```
|
||
|
||
# --solutions--
|
||
|
||
```js
|
||
// solution required
|
||
```
|