整数分类(求大神帮忙)
数分类Acceteped : 1394 Submit : 3569
Time Limit : 1000 MS Memory Limit : 65536 KB
Description
Description
按照下面方法对整数x进行分类:如果x是一个个位数,则x属于x类;否则将x的各位上的数码累加,得到一个新的x,依次迭代,可以得到x的所属类。比如说24,2+4=6,则24的类别数是6;39,3+9=12,1+2=3,则39的类别数是3。
输入
每行输入一个非负整数n,n的位数<500,n为0时结束。
输出
每行输出对应整数的分类数。
Sample Input
24
39
0
Sample Output
6
3
Source
ericxie
请问下面的代码为什么wrong answer
第一种
#include <stdio.h>
#include <math.h>
main()
{
int n;
while (scanf("%d", &n) && n != 0)
{
n = n % 9;
if (n == 0)
n = 9;
printf("%d ", n);
}
}
第二种
#include <stdio.h>
int calc(int n)
{
if (n < 10)
return n;
else
return calc(n % 10 + calc(n / 10));
}
int main()
{
long long int n;
while (scanf("%d", &n) && n != 0)
{
printf("%d\n", calc(n));
}
return 0;
}