P10985
[蓝桥杯 2023 国 Python A] 整数变换
题目描述
小蓝有一个整数 n。每分钟,小蓝的数都会发生变化,变为上一分钟的数 减去上一分钟的数的各个数位和。
例如,如果小蓝开始时的数为 23,则下一分钟变为 23−(2+3)=18,再下一分钟变为 18−(1+8)=9,再下一分钟变为 9−9=0,共经过了 3 分钟变为 0。
给定一个正整数,请问这个数多少分钟后变为 0。
输入格式
输入一行包含一个整数 n。
输出格式
输出一个整数,表示答案。
说明/提示
对于 30% 的评测用例,1≤n≤1000;
对于 60% 的评测用例,1≤n≤10^6;
对于所有评测用例,1≤n≤10^9。
n = int(input())
count = 0
while n != 0:
# 计算 n 的各位数字之和
sub = sum(int(i) for i in str(n))
# 更新 n
n -= sub
# 增加计数器
count += 1
print(count)