思路

对于大于等于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;
}