一流的高密做网站的站长统计app软件下载2021
原题目链接
问题描述
小蓝有一个整数 n
。每分钟,小蓝的数都会发生变化,变为上一分钟的数减去上一分钟的数的各个数位和。
例如,如果小蓝开始时的数为 23
,则:
- 下一分钟变为:23 − (2 + 3) = 18
- 再下一分钟变为:18 − (1 + 8) = 9
- 再下一分钟变为:9 − 9 = 0
共经过了 3 分钟变为 0。
给定一个正整数,请问这个数多少分钟后变为 0。
输入格式
输入一行包含一个整数 n
。
输出格式
输出一个整数,表示答案。
样例输入
23
样例输出
3
评测用例规模与约定
- 对于 30% 的评测用例,1 ≤ n ≤ 1000
- 对于 60% 的评测用例,1 ≤ n ≤ 10^6
- 对于所有评测用例,1 ≤ n ≤ 10^9
c++代码
#include<bits/stdc++.h>using namespace std;int change(int x) {int sum = x;while(x > 0) {sum -= x % 10;x /= 10;}return sum;
}int main() {int n, cont = 0;cin >> n;while(n > 0) {cont++;n = change(n);}cout << cont;return 0;
}//by wqs