acm hdu 2010 哪错了?
#include<stdio.h>
int main()
{
int m,n,i,a,b,c,k,x=0;
while (scanf("%d %d",&m,&n)!=EOF)
{
for (i=m;i<=n;i++)
{
k=i;
a=k%10;
k=k/10;
b=k%10;
k=k/10;
c=k%10;
if(i==c*c*c+b*b*b+a*a*a)
{
printf("%d",i);
x++;break;
}
}
if(x)
{
for (i=i+1;i<=n;i++)
{
k=i;
a=k%10;
k=k/10;
b=k%10;
k=k/10;
c=k%10;
if(i==c*c*c+b*b*b+a*a*a)
{
printf(" %d",i);
x++;
}
}
}
if(x==0)
printf("no\n");
else printf("\n");
}
}
已提交就wa了,怎样修改才能ac呢?请高手指教。
// 不要想当然以为 m,n 之间 最多只有两个 水仙花数,
// 题目给的测试试例 只是告诉你输出格式而已
#include<stdio.h>
int main()
{
int m,n,i,a,b,c,k,x=0;
while (scanf("%d %d",&m,&n)!=EOF)
{
x = 0; // 每输入一组 m,n; x都要重新置0
for (i=m;i<=n;i++)
{
k=i;
a=k%10;
k=k/10;
b=k%10;
k=k/10;
c=k%10;
if(i==c*c*c+b*b*b+a*a*a)
{
if(x != 0) printf(" ");
// 测试实例告诉你 如果超过两派余个数,
// 中间要加空格, 而且御斗最后一个数后面不镇羡磨能加空格,( 测试得出)
printf("%d",i);
x++;
}
}
if(x==0)
printf("no\n");
else printf("\n");
}
return 0;
}