求数字根的计算的问题答案
正整数的数字根是将数位上的数字求和进行计算而来。如果各位数字之和为一位的整数,那么这个整数就是这个数的数字根;如果之后为多位数,那么重复运用此规则进行计算直至求出一个一位...
正整数的数字根是将数位上的数字求和进行计算而来。如果各位数字之和为一位的整数,那么这个整数就是这个数的数字根;如果之后为多位数,那么重复运用此规则进行计算直至求出一个一位数。例如12,那么它的数字根就为1+2=3;例如39那么它的数字根就为3+9=12,1+2=3,最终为3。
Input
每行输入一个正整数,输入0表示结束。
Output
输出一个一位数。
Sample Input
24
39
0
Sample Output 展开
Input
每行输入一个正整数,输入0表示结束。
Output
输出一个一位数。
Sample Input
24
39
0
Sample Output 展开
1个回答
展开全部
//c/c++问题就设置成c/c++分类,这样回答可以贴代码
#include <stdio.h>
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;
}
#include <stdio.h>
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)时,才退出
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询