思路
对于大于等于10的数,让每一位相加得到一个新的数,并继续执行此操作。
记得测一下1e9,没有异常就可以交了。
代码
#include<bits/stdc++.h> using namespace std; int main(){ int n; scanf("%d",&n); while(n>=10){ int tmp=0; while(n){ tmp+=n%10; n/=10; } n=tmp; } cout<<n; return 0; }
对于大于等于10的数,让每一位相加得到一个新的数,并继续执行此操作。
记得测一下1e9,没有异常就可以交了。
#include<bits/stdc++.h> using namespace std; int main(){ int n; scanf("%d",&n); while(n>=10){ int tmp=0; while(n){ tmp+=n%10; n/=10; } n=tmp; } cout<<n; return 0; }