Предмет: Информатика, автор: bsjzb

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

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

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

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

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

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

Программа получает на вход одно натуральное число n (1 ≤ n ≤ 1016).

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

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

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


bsjzb: Пример

Ввод
Вывод
Пояснение
13
11
В примере дано n = 13. Это двузначное число, поэтому после первой операции результат будет равен 13 − 2 = 11.
Число 11 тоже двузначное. После второй операции результат будет равен 11 − 2 = 9.
Число 9 однозначное. Будем вычитать из чисел по 1, после ещё девяти операций получим ноль.
Всего 11 операций.

Ответы

Автор ответа: Fedy16
1

n = int(input())

count = 0

while n > 0:

   n -= len(str(n))

   count += 1

print(count)

EDITED: 10:30

Интересные вопросы
Предмет: Английский язык, автор: Аноним