Предмет: Информатика,
автор: bsjzb
Задача 5: Долгое вычитание, Карл!
Карл Гаусс известен тем, что в юные годы сумел быстро решить задачку своего учителя, которую тот предложил ученикам, чтобы занять их на продолжительное время: найти сумму всех натуральных чисел от 1 до 100.
Говорят, что сразу после этого Карл решил и вторую хитрую задачу, так и не дав своему преподавателю насладиться тишиной на уроке.
Дано натуральное число n. Из него вычитают число, равное длине числа n. Из результата опять вычитают число, равное его длине и так далее. Сколько потребуется операций, чтобы получилось число 0?
Попробуйте и вы справиться с этой задачей.
Входные данные
Программа получает на вход одно натуральное число n (1 ≤ n ≤ 1016).
Обратите внимание, что при заданных ограничениях для хранения ответа необходимо использовать 64-битный тип данных, например long long в C++, int64 в Pascal, long в Java.
Выходные данные
Выведите одно натуральное число — ответ на вопрос задачи.
Ответы
Автор ответа:
1
n = int(input())
count = 0
while n > 0:
n -= len(str(n))
count += 1
print(count)
EDITED: 10:30
Интересные вопросы
Предмет: Английский язык,
автор: Gvinblad
Предмет: Английский язык,
автор: Аноним
Предмет: Русский язык,
автор: Аноним
Предмет: Математика,
автор: Farew1
Ввод
Вывод
Пояснение
13
11
В примере дано n = 13. Это двузначное число, поэтому после первой операции результат будет равен 13 − 2 = 11.
Число 11 тоже двузначное. После второй операции результат будет равен 11 − 2 = 9.
Число 9 однозначное. Будем вычитать из чисел по 1, после ещё девяти операций получим ноль.
Всего 11 операций.