#include <iostream>
using namespace std;
int main(void){
int m,n,s[3];
while(cin>>m>>n){
int flag(0);
int da[1000]={0};
for(int i=m;i<=n;i++)
{ int c,sum(0);
c=i;
for(int j=0;j<3;j++)
{ s[j]=c%10;
c=c/10;
sum=sum+s[j]*s[j]*s[j];
}
if(sum==i)
{ da[flag]=i;
flag++;
}
}
if(flag==0) cout<<"no"<<endl;
else
{ for(int k=0;k<flag-1;k++)
cout<<da[k]<<" ";
cout<<da[flag-1]<<endl;
}
}
return 0;
}
tips:坑还挺多的
1、输出格式很重要,最后一个输出的数后面不能有空格,所以得分两部分输入,一部分每个数后面都输出空格,一部分只输出一个数。
2、在一个地方卡了很久..就是输出最后一个数的时候是输出flag-1,而不是flag,怪不得总输出垃圾数。记住数组最后一个元素的下标是flag-1