Задача с e-olymp #8380

148
01 апреля 2019, 06:30

Задача:

В Баку вскоре откроется новая станция метро. Эскалатор в метро состоит из n ступенек, пронумерованных целыми числами от 1 до n. На ступеньках с номерами, кратными десяти, а также на первой и последней ступеньке, пишут их номера. При записи номера на каждую записанную цифру уходит одно и то же количество краски.

Чтобы рассчитать необходимое количество краски, требуется узнать, сколько цифр будет написано. Напишите программу, которая определяет, сколько всего цифр будет использовано в номерах подписанных ступенек.

Входные данные:

Одно целое число n (1 ≤ n ≤ 10^18) - количество ступеней эскалатора.

Выходные данные:

Выведите суммарное количество цифр в номерах подписанных ступенек.

Необходимо решить только с помощью формул и функций (не используя условные операторы, циклы и т.д.)

Вот наброски кода, где вычислил количество чисел для покраски и количество цифр в конечном числе, есть много идей, но все они без циклов в моем понимании не реализуются.

#include <iostream>
#include <cmath>
using namespace std;
int main() {
    long long n;
    long double num, numz;
    cin >> n;
    num = ceil(n / 10.0);
    numz = ceil(log10(n));
    return 0;
}

Проблема в том, что не могу понять как без цикла учесть то, что количество цифр в числе меняется каждый разряд и посчитать их сумму. Буду благодарен за любую помощь и подсказки.

READ ALSO
Задача про Диету Деда Мороза C++

Задача про Диету Деда Мороза C++

Задача про Диету Деда Мороза, подробнее на картинкеСамая простая задача из тех что были, все решил эту не удается

160
C++ парсинг тегов в std::string

C++ парсинг тегов в std::string

Есть std::string например:

146
не активен QMenuBar [закрыт]

не активен QMenuBar [закрыт]

вот тут лежит мой проект (в src лежат исходники, а в mainProject файл notepad6d11 это собранная версия), проблема: верхняя панель (там где файл поле) не нажимается,...

139