题目:
正整数的数根指的是该整数各位数字的和。如果结果是一位数,那么这个数就是数根;如果结果有两个或两个以的数字,那么就只需将结果的各位数字再相加直到只是一位数字。
例如正整数24,2和4相加等于6,因为6是一位数,6就是24的数根;再如正整数39,3和9相加等于12,因为12不是一位数,所以必须重复该过程,把1和2相加等于3,这是一位数,也是39的数根。
输入格式
一个整数,这个整数不超过100位。
输出格式
仅有一个数,该数是输入的整数的数根。
输入/输出例子1
输入:
123
输出:
6
代码:
#include<bits/stdc++.h>
using namespace std;
int pd(int x){
int y=0;
while(x>=1){
y+=x%10;
x/=10;
}
while(y>9)
y=pd(y);
return y;
}
string s;
int sum;
int main(){
while (cin>>s){
for(int i=0;i<s.size();i++)
sum+=s[i]-'0';
cout<<pd(sum)<<endl;
}
return 0;
}