64,682
社区成员
发帖
与我相关
我的任务
分享
#include<iostream>
#include<stdlib.h>
using namespace std;
int num1[1010],num2[1010];
//把整数存入数组,num从0到length是整数的每个数字从后往前读的
int cunrushuzu(int m,int num[]){
int length=0;
while(m!=0){
num[length]=m%10;
m/=10;
length++;
}
return length;
}
int main(){
num1[1010]={0};
num2[1010]={0};
int n,sum=0;
cin>>n;
int len1,len2;
len1=cunrushuzu(n,num1);
// for(int k=0;k<len1;k++)
// cout<<num1[k]<<" ";
// cout<<endl;
// cout<<len1<<endl;
if(len1>=2){
for(int i=0;i<len1;i++)
sum+=num1[i];
// cout<<sum<<endl;
len2=cunrushuzu(sum,num2);
while(len2>=2){
num2[1010]={0};
sum=0;
for(int j=0;j<len2;j++)
sum+=num2[j];
len2=cunrushuzu(sum,num2);
}
cout<<sum<<endl;
}
else
cout<<n<<endl;
return 0;
}