http://acm.hdu.edu.cn/showproblem.php?pid=2010
题目大意
输入两个整数m和n(100<=m<=n<=999),要求输出所有在m和n范围内的水仙花数,多个则用空格隔开,不存在则输出no。
Sample Input
100 120
Sample Output
no
370 371
方法与总结
- 判断水仙花数
- 注意每行最后不能留有空格,否则就会出现
Presentation Error
,我就犯了这个错误。
代码
#include<iostream>
using namespace std;
bool Check(int num)
{
int g,s,b;
g=num%10;
s=num%100/10;
b=num/100;
if(num==g*g*g+s*s*s+b*b*b)
return 1;
else
return 0;
}
int main()
{
int m,n,count;
while(cin>>m>>n)
{
count=0;
for(int i=m;i<=n;i++)
{
if(Check(i))
{
if(count)
cout<<" ";
cout<<i;
count++;
}
}
if(!count)
cout<<"no";
cout<<endl;
}
return 0;
}