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

杭電ACM2010--水仙花數

水仙花數

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 268130    Accepted Submission(s): 75246


Problem Description 春天是鮮花的季節,水仙花就是其中最迷人的代表,數學上有個水仙花數,他是這樣定義的:
“水仙花數”是指一個三位數,它的各位數字的立方和等於其本身,比如:153=1^3+5^3+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      
 1
#include<iostream> 2 using namespace std; 3 int main() 4 { 5 int a,b,c,num,i; 6 while(cin>>a>>b) 7 { 8 int d=0,e=1; 9 for(i=a;i<=b;i++) 10 { 11 num=i; 12 int sum=0; 13 while(num) 14 {
15 c=num%10; 16 num/=10; 17 sum+=c*c*c; 18 } 19 if(sum==i) 20 { 21 if(e==1) 22 { 23 e=0; 24 cout<<i; 25 } 26 else cout<<" "<<i; 27 d=1; 28 } 29 } 30 if(d==0)cout<<"no"; 31 cout<<endl; 32 } 33 return 0; 34 }