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