A41789. 数根数根可以通过把一个数的各个位上的数字加起来得到。如果得到的数是一位数,那么这个数就是数根。如果结果是两位数或者包括更多位的数字,那么再把这些数字加起来。如此进行下去,直到得到是一位数为止。 比如,对于24来说,把2和4相加得到6,由于6是一位数,因此6是24的数根。再比如39,把3和9加起来得到12,由于12不是一位数,因此还得把1和2加起来,最后得到3,这是一个一位数,因此3是39的数根。…
填空题
中等
知识点
题目描述
数根
数根可以通过把一个数的各个位上的数字加起来得到。如果得到的数是一位数,那么这个数就是数根。如果结果是两位数或者包括更多位的数字,那么再把这些数字加起来。如此进行下去,直到得到是一位数为止。 比如,对于24来说,把2和4相加得到6,由于6是一位数,因此6是24的数根。再比如39,把3和9加起来得到12,由于12不是一位数,因此还得把1和2加起来,最后得到3,这是一个一位数,因此3是39的数根。
输入
一个正整数(小于10^1000)。
输出
一个数字,即输入数字的数根。
样例输入
24
样例输出
6
参考答案
#include <bits/stdc++.h>
using namespace std;
string a;
int num_g(int n){
if(n<10) return n;
else {
int t=0;
while(n>0){
t+=n%10;n/=10;
}
return num_g(t);
}
}
int main()
{
cin>>a;
int l=a.size();
int sum=0;
for(int i=0;i<l;i++)
sum+=a.at(i)-'0';
cout<<num_g(sum)<<endl;
return 0;
}
上一题
下一题