[题目链接]http://acm.hdu.edu.cn/showproblem.php?pid=2010
题意:得到在m到n之间的“水仙花数”,“水仙花数”是指一个三位数,它的各位数字的立方和等于其本身.

#include<iostream>
using namespace std;
int main()
{ 
	int m,n; //定义两个整数 。 
	while(cin>>m>>n)//得到两个整数。 
	{ 
		int a,b,c,i,sum=0;//定义水仙花数的个位,十位,百位。定义一个sum控制输出。 
		for(i=m;i<=n;i++)//得到n到m中的所有数。 
		{ 
			a=i/100;//得到百位 。 
			b=i/10%10;//得到十位 。 
			c=i%10%10;//得到个位。 
			if(i==a*a*a+b*b*b+c*c*c)//判断是否为水仙花数。 
			{ 
				sum=sum+1;//控制第一个输出的水仙花数没有空格。 
				if(sum==1)//当sum=1时。 
				{ 
					cout<<i;//输出第一个水仙花数。 
				}
				else cout<<" "<<i;// 当再次有水仙花数时,sum已经大于或等于1,此时根据题目要求输出一个空格和一个水仙花数。 
			}
		}
		if(sum==0)//当sum等于0时,此时没有执行sum=sum+1,所以没有水仙花数。 
		{ 
			cout<<"no"<<endl;//根据题目要求输出 no ,还要注意换行。 
		}
		else cout<<endl;//该行代码是为了符合题目要求使输出的水仙花数单独占一行。 
	}
	return 0;
}

本文地址:https://blog.csdn.net/weixin_51765822/article/details/112802417