1. 程式人生 > >水仙花數 (2013年中南大學研究生復試機試 )

水仙花數 (2013年中南大學研究生復試機試 )

end for ems std 位數 水仙花數 code 水仙花 name

1001: 水仙花數

時間限制: 1 Sec 內存限制: 128 MB
提交: 346 解決: 117
[提交] [狀態] [討論版] [命題人:外部導入]

題目描述

春天是鮮花燦爛的季節,水仙花就是其中最迷人的代表,數學上有個水仙花數,他是這樣定義的:“水仙花數”是指一個三位數,它的各位數字的立方和等於其本身,比如:153=1^3+5^3+3^3。現在要求輸出所有在m和n範圍內的水仙花數。

輸入

輸入數據有多組,每組占一行,包括兩個整數m和n(100<=m<=n<=999)。

輸出

對於每個測試實例,要求輸出所有在給定範圍內的水仙花數,就是說,輸出的水仙花數必須大於等於m,並且小於等於n,如果有多個,則要求從小到大排列在一行內輸出,之間用一個空格隔開(註意每組輸出的最後一個數之後不要加空格);如果給定的範圍內不存在水仙花數,則輸出no;每個測試實例的輸出占一行。

樣例輸入

100 120
300 380

樣例輸出

no
370 371

 1 #include<iostream>
 2
3 using namespace std; 4 5 int main(){ 6 int low, high; 7 while (cin >> low >> high){ 8 int count = 0; 9 int d = 0; 10 for (d = low; d <= high; d++){ 11 int a = d / 100; 12 int b = (d - a * 100) / 10; 13 int
c = (d - a * 100 - b * 10); 14 if (d == a*a*a + b*b*b + c*c*c){ 15 if (count == 0){ 16 cout << d; 17 } 18 else{ 19 cout << " " << d; 20 } 21 count++; 22 } 23 } 24 if (count == 0){ 25 cout << "no"; 26 } 27 cout<< endl; 28 } 29 return 0; 30 }

 

水仙花數 (2013年中南大學研究生復試機試 )