可能是ACM系统不认为输出一个空格后再\b是等于没有输出。
你可以根据k的值来判断当前输出的是否是本行第一个答案。
以下程序AC。
#include
int main()
{
int abc(int a);
int n,m,i,k;
while(scanf("%d%d",&m,&n)!=EOF)
{
k=0;
for(i=m;i<=n;i++)
{
if(abc(i))
{
if(k) printf(" ");
printf("%d",i);
k++;
}
}
if(k==0)
printf("no\n");
else printf("\n");
}
return 0;
}
int abc(int a)
{
int x,y,z;
x=a%10;
y=a/10%10;
z=a/100%10;
if(a==x*x*x+y*y*y+z*z*z)
return 1;
else return 0;
}
好像少了空格