Дано натуральне число n. Від даного числа віднімемо суму цифр цього числа, від утвореного числа знову віднімемо суму цифр утвореного числа і т. д. Дану операцію над числом будемо виконувати, поки утворене число додатне. Скільки разів будемо виконувати дану операцію.
Вхідні дані
Одне натуральне число n, що не перевищує 2 *109.
Answers & Comments
Відповідь:Алгоритм розв'язку задачі можна розбити на наступні кроки:
Обчислити суму цифр числа n. Для цього можна перетворити число n на рядок і застосувати функцію sum() до списку цифр, отриманих з рядка.
Виконувати операцію з відніманням суми цифр доти, доки отримане число не стане від'ємним або дорівнюватиме нулю. Для цього можна використовувати цикл while.
Підрахувати кількість виконаних операцій і повернути її як результат роботи функції.
Ось код реалізації на мові Python:
python
Copy code
def count_operations(n):
count = 0
while n > 0:
digits_sum = sum(int(d) for d in str(n))
n -= digits_sum
count += 1
return count
Функція count_operations(n) приймає один аргумент - натуральне число n, і повертає кількість операцій, необхідних для отримання нуля з даного числа.
Наприклад, виклик функції count_operations(123) поверне значення 2, оскільки потрібно виконати дві операції: 123 -> 123 - 6 = 117 -> 117 - 9 = 108 -> 108 - 9 = 99 -> 99 - 18 = 81 -> 81 - 9 = 72 -> 72 - 9 = 63 -> 63 - 9 = 54 -> 54 - 9 = 45 -> 45 - 9 = 36 -> 36 - 9 = 27 -> 27 - 9 = 18 -> 18 - 9 = 9 -> 9 - 9 = 0.
Пояснення:выше есть пояснение и ответ)