参考解法:
我的解法:我其实也是将原来数字逆序,然后判断的。
最开始我本来是打算把每位数字存入数组中,但是发现需要动态创建数组,否则为0的地方不好省略之后来对比,毕竟有数组初始化时就为0的和输入的n中数位有0的,这两个不好区分。
#include<iostream>
#include<cmath>
using namespace std;
//将输入的数字逆序
int f(int n) {
if (n < 10)return n;
int q = 0,m = 0;
while (n) {
m = m * 10 + n % 10;
n /= 10;
}
return m;
}
int main() {
int n;
cin >> n;
if (n == f(n))cout << 0;
else {
int k = 0;
while (n != f(n)) {
n += f(n);
k++;
}
cout << k;
}
return 0;
}