概念講解:
什麼是水仙花數呢?
所謂的水仙花數是指:乙個n 位數( n≥3 ),它的每個位上的數字的n 次冪之和等於它本身。 例如153,370,371等都是水仙花數,就拿153來說,153 = 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3
為了搜尋指定範圍的所有水仙花數,最好的辦法當然是遍歷啦,因此,編寫**的第一步就是確定使用for迴圈實現對目標範圍所有數字的遍歷根據水仙花數的概念,我們必須確定當前數字的位數,這樣才能確定每一位上的數字應該用幾次方來求和
例如:153的位數為3;370的位數為3;1634的位數為4;
確定好當前數字的位數後,則需要求出來當前數字的每一位上都是幾
例如:153的每一位上的數字分別為1、5、3;370的每一位上的數字分別為3、7、0;
知道當前數字的位數,以及每一位上的數字分別是什麼後,剩下的就剩下求和了
例如: 153 = 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3; 370=3 * 3 * 3+7 * 7 * 7+0 * 0 * 0;
1634=1 * 1 * 1 * 1+6 * 6 * 6 * 6+3 * 3 * 3 * 3+4 * 4 * 4 * 4;
將最終的求和結果和當前數字進行比較,如果相等,則為水仙花數,如果不是,那進行下乙個數字的判斷,直到遍歷所有待求範圍的數字
#include
//水仙花數
//1.確定位數
//2.確定每個數字
//3.判斷
intpow
(int number,
int times)
//自定義函式求number的times次方
return result;
}int
main()
//確定每一位的值,求count次方後,累加起來
tem = i;
for(
int j =
0; j < count; j++
)//判斷累加和是否與當前數字相同,相同則為水仙花數,將其列印出來
if(sum == i)
}return0;
}
c語言 水仙花數
1.在螢幕上輸出以下圖案 2.求出0 999之間的所有 水仙花數 並輸出。水仙花數 是指乙個三位數,其各位數字的立方和確好等於該數本身,如 153 1 5 3?則153是乙個 水仙花數 在數論中,水仙花數 narcissistic number 也稱為自戀數 自冪數 阿姆斯壯數或阿姆斯特朗數 arm...
c語言的水仙花數
題目 是說有這樣的一些三位數,例如 153它能夠由111 555 333之和組成。這樣的三位數我們叫作水仙花數。現在要求我們找出這樣的所有的水仙花數。即乙個三位數xyz yyy zzz。要求 每乙個水仙花數都需要站一行。思路 首先需要輸入乙個三位數,然後需要進行驗證是否符合水仙花數的條件。那麼就需要...
C 水仙花數
include include using namespace std void divide int,int int int void main int hun 0,ten 0,one 0 for int i 100 i 999 i divide i,hun,ten,one if i pow hu...