杭电oj水仙花数

版权声明:https://blog.csdn.net/qq_43129582/article/details/83213278 https://blog.csdn.net/qq_43129582/article/details/83216003

Problem Description

春天是鲜花的季节,水仙花就是其中最迷人的代表,数学上有个水仙花数,他是这样定义的:
“水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比如:153=13+53+3^3。
现在要求输出所有在m和n范围内的水仙花数。

Input

输入数据有多组,每组占一行,包括两个整数m和n(100<=m<=n<=999)。

Output

对于每个测试实例,要求输出所有在给定范围内的水仙花数,就是说,输出的水仙花数必须大于等于m,并且小于等于n,如果有多个,则要求从小到大排列在一行内输出,之间用一个空格隔开;
如果给定的范围内不存在水仙花数,则输出no; 每个测试实例的输出占一行。

Sample Input

100 120 300 380

Sample Output

no 370 371

c++

扫描二维码关注公众号,回复: 4001888 查看本文章
#include<iostream>
 using namespace std;
 int main()
 {
 	int n,m;
 	while(cin>>n>>m)
 	{
 		int a,b,c;
 		int sum=0;
 		int team=0;
 		int z[100];
 		for(int i=n,f=0;i<=m;i++)
 		{
 			a=i/100%10;
 			b=i/10%10;
 			c=i%10;
 			sum=a*a*a+b*b*b+c*c*c;
 			if(sum==i)
 			{
 					team++;
 					z[f++]=i;
			 }
			
 		
 			
 		
		 }
		 if(team!=0)
		 {
		 	for(int j=0;j<team;j++)
		 	{
		 		
		 		cout<<z[j]<<" ";
			 }
			 
		 }
		 else
		 cout<<"no"<<endl;
		 
	 }
	 return 0;
 }
 

猜你喜欢

转载自blog.csdn.net/qq_43129582/article/details/83216003
今日推荐