作业帮 > 综合 > 作业

求数字根的计算的问题答案

来源:学生作业帮 编辑:搜狗做题网作业帮 分类:综合作业 时间:2024/06/17 07:36:34
求数字根的计算的问题答案
正整数的数字根是将数位上的数字求和进行计算而来.如果各位数字之和为一位的整数,那么这个整数就是这个数的数字根;如果之后为多位数,那么重复运用此规则进行计算直至求出一个一位数.例如12,那么它的数字根就为1+2=3;例如39那么它的数字根就为3+9=12,1+2=3,最终为3.
Input
每行输入一个正整数,输入0表示结束.
Output
输出一个一位数.
Sample Input
24
39
0
Sample Output
求数字根的计算的问题答案
//c/c++问题就设置成c/c++分类,这样回答可以贴代码
#include
int func(int a)
{
if(a < 10) return a;
int t = 0;
while(a)
{
t += a%10;
a /= 10;
}
return func(t);
}
int main()
{
int a;
while(1)
{
scanf("%d",&a);
if(a == 0)break;
printf("%d\n",func(a));
}
return 0;
}
再问: 不好意思,当时没注意,谢谢了 我还想问下第5行“while(a)”还有16行“while(1)” 什么意思,麻烦了
再答: while(a)即while(a!=0) 除10取余知道吗,通过这个来分离各位数。 while(1)是死循环,就是不断循环。只有在a==0(即输入为0)时,才退出