img img img img img img img img img img img img img img img img img img img img img img
Логотип Человек живет, пока думает.
Решайте задачи и живите долго!
Для участия в проекте необходимо
и достаточно зарегистрироваться!
Rss Регистрация || Вход
Вход
Diofant.ru
Картинка
Отражение Отражение Картинка Картинка
отражение
Лента событий: badfomka решил задачу "Календарь будущего" (Информатика):
+ 5

Задача 302. Подсчет цифр

постоянный адрес задачи: http://www.diofant.ru/problem/967/
показать код для вставки на свой сайт >>
Задачу решили: 5
всего попыток: 16
поделиться задачей:

Задача опубликована: 26.07.10 08:00
Прислал: mikev img
Источник: Проект "Эйлер" (http://projecteuler.net)
Вес: 1
сложность: 1 img
класс: 8-10 img
баллы: 100

Посмотрим на десятичную запись первых неотрицательных целых чисел:

0 1 2 3 4 5 6 7 8 9 10 11 12....

Выберем одну из цифр, например единицу (d=1), а затем начнем выписывать наши числа, подсчитывая количество использованных единиц. Обозначим полученное количество через  f(n,1) и запишем его против каждого числа n. Вот что получится:

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 ни при каких n.
Уравнение f(n,1)=n имеет решения n=0 и n=1, а следующее решение - только n=199981.

Аналогично, подсчитаем, сколько раз мы использовали цифру d, и обозначим полученное количество через f(n,d).
Заметим, что для каждой цифры d, кроме нуля, n=0 является первым решением уравнения f(n,d)=n.
Обозначим через s(d) сумму всех решений уравнения f(n,d)=n. Например, s(1)=22786974071.

Найдите ∑ s(d) при 0 ≤ d ≤ 9.

Замечание: Если для какого-то n f(n,d)=n для нескольких значений d, n необходимо учитывать каждый раз для каждой цифры d.

 
Пожалуйста, не пишите нам, что Вы не можете решить задачу.
Если Вы не можете ее решить, значит Вы не можете ее решить :-)

Обсуждение Правила >>

Внимание! В обсуждении задачи запрещено публиковать ответы и давать подсказки.
 
Внимание! Если Вы увидите ошибку на нашем сайте, выделите её и нажмите Ctrl+Enter.