69 lines
2.2 KiB
Markdown
69 lines
2.2 KiB
Markdown
---
|
||
id: 5900f4091000cf542c50ff1b
|
||
title: 'Завдання 156: підрахунок цифр'
|
||
challengeType: 5
|
||
forumTopicId: 301787
|
||
dashedName: problem-156-counting-digits
|
||
---
|
||
|
||
# --description--
|
||
|
||
Починаючи з нуля, натуральні числа із основою 10 записуються так:
|
||
|
||
0 1 2 3 4 5 6 7 8 9 10 11 12....
|
||
|
||
Нехай цифра $d = 1$. Після запису кожного числа n, кількість отриманих чисел оновлюється й отримане число буде $f(n, 1)$. Перші значення lkz $f(n, 1)$ будіть такі:
|
||
|
||
| $n$ | $f(n, 1)$ |
|
||
| --- | --------- |
|
||
| 0 | 0 |
|
||
| 1 | 1 |
|
||
| 2 | 1 |
|
||
| 3 | 1 |
|
||
| 4 | 1 |
|
||
| 5 | 1 |
|
||
| 6 | 1 |
|
||
| 7 | 1 |
|
||
| 8 | 1 |
|
||
| 9 | 1 |
|
||
| 10 | 2 |
|
||
| 11 | 4 |
|
||
| 12 | 5 |
|
||
|
||
Зверніть увагу, що $f(n, 1)$ ніколи не дорівнює 3.
|
||
|
||
Отже, два перші розв'язки рівняння $f(n, 1) = n$ будуть $n = 0$ і $n = 1$. Наступне рішення буде $n = 199981$. Таким же чином функція $f(n, d)$ показує загальну кількість цифр d, що була записана після того, як число $n$ було написано.
|
||
|
||
Фактично, для кожної цифри $d ≠ 0$, 0 — це перше рішення для рівняння $f(n, d) = n$. Нехай $s(d)$ — сума усіх рішень, для яких $f(n, d) = n$.
|
||
|
||
Дано $s(1) = 22786974071$. Знайдіть $\sum{s(d)}$, якщо $1 ≤ d ≤ 9$.
|
||
|
||
Примітка: якщо для деяких $n$, $f(n, d) = n$ на більш ніж значення $d$, це значення $n$ знову враховується для кожного значення $d$, для яких $f(n, d) = n$.
|
||
|
||
# --hints--
|
||
|
||
`countingDigits()` має повернути `21295121502550`.
|
||
|
||
```js
|
||
assert.strictEqual(countingDigits(), 21295121502550);
|
||
```
|
||
|
||
# --seed--
|
||
|
||
## --seed-contents--
|
||
|
||
```js
|
||
function countingDigits() {
|
||
|
||
return true;
|
||
}
|
||
|
||
countingDigits();
|
||
```
|
||
|
||
# --solutions--
|
||
|
||
```js
|
||
// solution required
|
||
```
|