思路
1.题中写有“n<=1000”,所以,输入的时候必须用string或char进行存储
2.题目中有“n<=1000”
即使每一位都为9,但和最大也只有9000
因此,自第二次求各个位的和之后,我们可以用ll,int等存储
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll N=1e5+1e4;
string s;
ll n;
signed main()
{
cin>>s;
for(ll i=0;i<s.size();i++)n+=(s[i]-'0');
while(n>=10)//不断缩位求和,知道n<10
{
ll ans=0;//记录新的缩位之和
while(n!=0)ans+=(n%10),n/=10;
n=ans;
}
cout<<n;
return 0;
}