408932: GYM103383 5 Долгое вычитание, Карл!

Memory Limit:0 MB Time Limit:0 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

5. Долгое вычитание, Карл!ограничение по времени на тест1 секундаограничение по памяти на тест512 мегабайтвводстандартный вводвыводстандартный вывод

Карл Гаусс известен тем, что в юные годы сумел быстро решить задачку своего учителя, которую тот предложил ученикам, чтобы занять их на продолжительное время: найти сумму всех натуральных чисел от 1 до 100.

Говорят, что сразу после этого Карл решил и вторую хитрую задачу, так и не дав своему преподавателю насладиться тишиной на уроке.

Дано натуральное число $$$n$$$. Из него вычитают число, равное длине числа $$$n$$$. Из результата опять вычитают число, равное его длине и так далее. Сколько потребуется операций, чтобы получилось число 0?

Попробуйте и вы справиться с этой задачей.

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

Программа получает на вход одно натуральное число $$$n$$$ ($$$1 \leqslant n \leqslant 10^{16}$$$).

Обратите внимание, что при заданных ограничениях для хранения ответа необходимо использовать $$$64$$$-битный тип данных, например long long в C++, int64 в Free Pascal, long в Java.

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

Выведите одно натуральное число — ответ на вопрос задачи.

Система оценки

Решения, верно работающие при $$$1 \leqslant n \leqslant 99$$$, получат не менее 20 баллов.

Решения, верно работающие при $$$1 \leqslant n \leqslant 10^{5}$$$, получат не менее 60 баллов.

ПримерВходные данные
13
Выходные данные
11
Примечание

В примере дано $$$n = 13$$$. Это двузначное число, поэтому после первой операции результат будет равен $$$13 - 2 = 11$$$.

Число 11 тоже двузначное. После второй операции результат будет равен $$$11 - 2 = 9$$$.

Число 9 однозначное. Будем вычитать из чисел по 1, после ещё девяти операций получим ноль.

Всего 11 операций.

加入题单

算法标签: