freeCodeCamp/curriculum/challenges/russian/08-coding-interview-prep/project-euler/problem-156-counting-digits...

56 lines
2.3 KiB
Markdown
Raw Normal View History

---
id: 5900f4091000cf542c50ff1b
challengeType: 5
title: 'Problem 156: Counting Digits'
videoUrl: ''
localeTitle: 'Задача 156: подсчет цифр'
---
## Description
<section id="description"> Начиная с нуля, натуральные числа записываются в базе 10 следующим образом: <p> 0 1 2 3 4 5 6 7 8 9 10 11 12 .... </p><p> Рассмотрим цифру d = 1. После того, как мы запишем каждое число n, мы обновим число тех, которые произошли, и назовем это число f (n, 1). Тогда первые значения для f (n, 1) следующие: </p><p> nf (n, 1) 00 11 21 31 41 51 61 71 81 91 102 114 125 </p><p> Заметим, что f (n, 1) никогда не равно 3. </p><p> Итак, первые два решения уравнения f (n, 1) = n равны n = 0 и n = 1. Следующее решение - n = 199981. Таким же образом функция f (n, d) дает общее количество цифр d, записанных после того, как было записано число n. </p><p> Действительно, для каждой цифры d ≠ 0, 0 является первым решением уравнения f (n, d) = n. Пусть s (d) - сумма всех решений, для которых f (n, d) = n. </p><p> Вам дается, что s (1) = 22786974071. Найти Σ s (d) для 1 ≤ d ≤ 9. Примечание: если для некоторого n, f (n, d) = n для более чем одного значения d это значение n подсчитывается снова для каждого значения d, для которого е (п, д) = п. </p></section>
## Instructions
<section id="instructions">
</section>
## Tests
<section id='tests'>
```yml
tests:
- text: <code>euler156()</code> должен вернуть 21295121502550.
testString: 'assert.strictEqual(euler156(), 21295121502550, "<code>euler156()</code> should return 21295121502550.");'
```
</section>
## Challenge Seed
<section id='challengeSeed'>
<div id='js-seed'>
```js
function euler156() {
// Good luck!
return true;
}
euler156();
```
</div>
</section>
## Solution
<section id='solution'>
```js
// solution required
```
</section>