杭電oj水仙花數
阿新 • • 發佈:2018-11-09
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; }