刚做了一道ACM上的题,用VC运行对了,但提交上去答案错误,求好心人解答
题目描述对于任意两个正整数a,b(0<=a,b<10000)计算ab各位数字的和的各位数字的和的各位数字的和的各位数字的和。
输入
输入有多组数据,每组只有一行,包含两个正整数a,b。最后一组a=0,b=0表示输入结束,不需要处理。
输出
对于每组输入数据,输出ab各位数字的和的各位数字的和的各位数字的和的各位数字的和。
样例输入
2 3
5 7
0 0
样例输出
8
5
我的代码:
#include<stdio.h>
#include<math.h>
int main()
{
long int a,b,c,sum,m,n,p;
while(scanf("%ld %ld",&a,&b),a!=0,b!=0)
{
sum=0;
m=0;
n=0;
p=0;
c=pow(a,b);
if(c>=10)
{
while((c/10)!=0)
{
sum+=c%10;
c=c/10;
}
}
sum+=c;
if(sum>10)
{
while((sum/10)!=0)
{
m+=sum%10;
sum=sum/10;
}
}
m+=sum;
if(m>10)
{
while((m/10)!=0)
{
n+=m%10;
m=m/10;
}
}
n+=m;
if(n>10)
{
while((n/10)!=0)
{
p+=n%10;
n=n/10;
}
}
p+=n;
printf("%ld\n",p);
}
return 0;
}