#include #include #include using namespace std; signed main() { int m,n; while(cin>>m>>n) {
for(int i=m;i<=n;i++)
{
int x=i%10;
int y=(i/10)%10;
int z=i/100;
if(x*x*x+y*y*y+z*z*z==i)
cout<<i<<endl;
if(x*x*x+y*y*y+z*z*z!=i)
cout<<"no"<<endl;
}
}
return 0;
} 起初照着问题把代码打了出来但是提交的时候会报错,发现是输出格式的问题,题目输出是在给定的区间内只输出里面的水仙花数,而我这个代码全部输出了,就出错了,后来学到了东西 #include using namespace std; int main() { int n , m; while(cin>>m>>n) { int flag=0; for(int i=m;i<=n;i++) { int cnt1=i%10; int cnt2=i/10%10; int cnt3=i/100; if(cnt1cnt1cnt1+cnt2cnt2cnt2+cnt3cnt3cnt3==i) { flag=1; cout<<i<<" "; } } if(flag==0) cout<<"no"<<endl; } return 0; } 这麽打就成了,很巧。