数根
Time Limit: 1000 ms Case Time Limit: 1000 ms Memory Limit: 100 MB
Total Submission: 69 Submission Accepted: 21
Description
计算该整数的各位数字之和,如果结果值是单个数字的数,那么这个数就是所求数根;如果结果值是由两位数或两位以上的数字组成的数,则继续计算各位数
字的和,直到结果值只有一位数字为止。
24, 2+4=6, 则根是6
39, 3+9=12,1+2=3,根是3
Input
输入包括多组数据,每组测试数据包括一个正整数,并且占一行,输入数据为0时,表示输入结束。
Output
对于每组测试数据,给出对应输出,并且每组输出占一行
Sample Input
Original Transformed
24
39
0
24[EOL] 39[EOL] 0[EOL] [EOF]
Sample Output
Original Transformed
6
3
#include<stdio.h>
int f(int x)
{
int y=0;
if(x<10)
return x;
else
{
while(x!=0)
{
y+=x%10;
x=x/10;
}
return f(y);
}
}
int main()
{
int x,i,sum,sum1;
while(scanf("%d",&x)!=EOF)
{
sum=0;
if(x==0)
break;
else
{
printf("%d\n",f(x));
}
}
}