先给出题目链接http://acm.hdu.edu.cn/showproblem.php?pid=2010
#include<stdio.h>
int main(){
int n,m;
while(scanf("%d%d",&m,&n)!=EOF){
int a,b,c,num=0;
if(m>=100&&m<n&&n<=999){
for(;m<=n;m++){
a=m/100;
b=(m/10)-a*10;
c=m-b*10-a*100;
if(m==a*a*a+b*b*b+c*c*c){
if(num>=1) printf(" ");
num++;
printf("%d",m);
}
}
}
if(num==0) printf("no\n");
else printf("\n");
}
}
这是一道很简单的水仙花数的计算,只需要将每个位数表示出来或者说计算出来,经过一点小运算便可得到结果。但在做这道题时却试了很多次提交却没有通过,于是改了很多代码也试了的很多计算方法,一直无法通过。便开始查了资料,之后发现自己的计算方式并没有错误,只是源于输出时多了一个空格。发现错误后便加入了num的参数来进行判断,便通过了这一个格式上的问题。