求整数的数根(20分)
题目内容:对于一个正整数n,我们将它的各个位相加,得到一个新的数字,如果这个数是一位数,我们称之为n的数根,否则重复处理,直到它成为一个一位数,这个一位数就是n的数根。一位数的数根为0
例如:24,2+4=6,6是24的数根
398,3+9+8=20,2+0=2,2是398的数根
输入格式:
输入n
输出格式:
n的数根
输入样例:
789
输出样例:
6
代码如下:
#include<iostream>
using namespace std;
int main()
{
int n,root;
cin>>n;
root=0;
if(n<10)
{
cout<<0<<endl;
}//特殊情况单列
while(n>9)
{
while(n>0)
{
root+=n%10;
n/=10;
}//一次求根
n=root;
if(root<10)
{
cout<<root<<endl;break;
}//求到个位就输出
else root=0;
}
return 0;
}