1. 程式人生 > >杭電oj水仙花數

杭電oj水仙花數

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++

#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;
 }