水仙花數其實是自冪數的一種,自冪數是乙個自然數中它每個個位上的數字n次方相加之和為它本身!,這裡n可以稱為立方指數!
而水仙花數的n次方的n是3,這裡3可以稱為自然數的立方指數
次方即為自身相乘多少次,一般用^表示,比如1的3次方表示為:1^3
比如153這個數是乙個水仙花數,為什麼呢?
下面我們用公式來看一下:
153有三個數字
1、5、3
1的三次方為1:
1*1*1=1
列:1*1=1
1*1=1
5的三次方為125:www.cppcns.com
5*5*5=125
列:5*5=25
25*5=125
3的三次方為27
3*3*3=27
列:3*3=9
9*3=27
然後再將三個次方的和加一起:
1+125+27=153
所以自然數的153是乙個水仙花數,因為它的三個數為拆分為1、5、3的自然數,而1^3+5^3+3^3剛好等於153,也就是原數!
說的簡單一點就是,乙個整數自然數上的個位自然數的3次方加起來等於這個整數自然數,且立方指數為3的即為水仙花數!
其實還有很多其他的:
一位自冪數:獨身數
兩位自冪數:沒有
三位自冪數:水仙花數
四位自冪數:四葉玫瑰數
五位自冪數:五角星數
六位自冪數:六合數
七位自冪數:北斗七星數
八位自冪數:八仙數
九位自冪數:九九重陽數
十位自冪數:十全十美數
由於一些型別儲存大小可能不能儲存太高位,需要使用一些高精度的儲存型別!
在囉嗦幾句,三位的水仙花數意味著數字長度只能是三位,上面說的立方指數為什麼是3?
因為水仙花的立方指數計算規則是它有多少個個位!立方指數為3的才算水仙花數!
所以如果自然數有程式設計客棧四個個位那麼立方指數就是4,也就是四葉玫瑰花數!
輸出所有的「水仙花數」,所謂的「水仙花數」是指乙個三位數其各位數字的立方和等於該數本身,例如153是「水仙花數」,因為:153 = 13 + 53 + 33。
根據「水仙花數」的定義,判斷乙個數是否為「水仙花數」,最重要的是要把給出的三位數的個位、十位、百位分別拆分,並求其立方和(設為s),若s與給出的三位數相等, 三位數為「水仙花數」,反之,則不是。
「水仙花數」是指滿足某一條件的三位數,根據這一資訊可以確定整數的取值範圍是 100〜999。對應的迴圈條件如下:
for(n=10; n<1000; n++)
對**的說明:
對於每個位置上的數值將其拆分的演算法有很多種,根據不同情況選擇不同演算法(對於同一問題不同演算法的效率有時會相差很多)。
下面是完整的**:
#include www.cppcns.comio.h>
int main()
printf("\n")nuklvur;
return 0;
}執行結果:
result is:153 3程式設計客棧70 371 407
c語言 水仙花數
1.在螢幕上輸出以下圖案 2.求出0 999之間的所有 水仙花數 並輸出。水仙花數 是指乙個三位數,其各位數字的立方和確好等於該數本身,如 153 1 5 3?則153是乙個 水仙花數 在數論中,水仙花數 narcissistic number 也稱為自戀數 自冪數 阿姆斯壯數或阿姆斯特朗數 arm...
c語言實現水仙花數
水仙花數 實際上是自冪數的定義 自冪數的定義 對於乙個 n位數來說 如果每個位的數字的n次冪之和等於該n位數,那麼我們就稱該數為自冪數。對於3位數來說 13 53 3 3 1531 3 5 3 3 3 153 13 53 33 1 53這是我們常見的乙個水仙花數。因為水仙花數是自冪數的一種,因此直接...
c語言的水仙花數
題目 是說有這樣的一些三位數,例如 153它能夠由111 555 333之和組成。這樣的三位數我們叫作水仙花數。現在要求我們找出這樣的所有的水仙花數。即乙個三位數xyz yyy zzz。要求 每乙個水仙花數都需要站一行。思路 首先需要輸入乙個三位數,然後需要進行驗證是否符合水仙花數的條件。那麼就需要...