水仙花數即三位的自冪數。所謂自冪數,就是指一個 n 位數 ( n≥3 ),其每位上的數字的 n 次冪之和等于本身。
創(chuàng)新互聯建站于2013年開始,先為沂源等服務建站,沂源等地企業(yè),進行企業(yè)商務咨詢服務。為沂源企業(yè)網站制作PC+手機+微官網三網同步一站式服務解決您的所有建站問題。
所以水仙花數,首先是三位數,形式為abc,同時a,b,c的立方和值與原本數相同。
類似的還有
四位自冪數:四葉玫瑰數
五位自冪數:五角星數
六位自冪數:六合數
等等。
對于水仙花數的判斷,需要按照以下步驟:
1 提取該數的個位,十位,百位值。
2 計算三個數的立方和。
3 與原值比較,如相等則是。
要輸出所有水仙花數,需要:
1 對所有三位數,即100到999遍歷;
2 對每個數判斷是否為水仙花數,如是則退出。
當循環(huán)結束,所有的水仙花數就輸出成功了。
代碼如下:
int?isNarcissistic(int?n)
{
int?a?=?n/100;
int?b?=?n/10%10;
int?c?=?n%10;
return?a*a*a?+?b*b*b?+?c*c*c?==?n;
}
int?main()
{
int?i;
for(i?=?100;?i?1000;?i?++)
if(isNarcissistic(i))?printf("%d?",i);
}
輸出結果如下:
153?370?371?407
所謂的“水仙花數”是指一個三位數其各位數字的立方和等于該數本身,例如153是“水仙花數”,因為:153 = 1^3 + 5^3+ 3^3?。
下面是完整的C語言編程代碼:
運行結果:
result is:153? 370? 371? 407
擴展資料
常見水仙花數
水仙花數又稱阿姆斯特朗數。
1、三位的水仙花數共有4個:153,370,371,407;
2、四位的四葉玫瑰數共有3個:1634,8208,9474;
3、五位的五角星數共有3個:54748,92727,93084;
4、六位的六合數只有1個:548834;
5、七位的北斗七星數共有4個:1741725,4210818,9800817,9926315;
6、八位的八仙數共有3個:24678050,24678051,88593477
參考資料:百度百科:水仙花數
水仙花數是指一個 n 位數 ( n≥3 ),每個位上的數字的 n 次冪之和等于它本身。(例如:1^3 + 5^3+ 3^3 = 153)。
所以可以依次通過模除求得每個位上的值,然后做n次冪后相加,再判斷是否與本身相等,從而得到是否為水仙花數的結論。
以求所有三位數水仙花數為例,代碼如下,其它相似。
#includestdio.h
#includestdlib.h
#includestdbool.h
int?cube(const?int?n){//計算立方。如果是四位則是四次方,以此類推。
return?n*n*n;
}
int?isNarcissistic(const?int?n){//計算是否為水仙花數。
int?hundreds=n/100;//百位
int?tens=n/10-hundreds*10;//十位
int?ones=n%10;//個位
return?cube(hundreds)+cube(tens)+cube(ones)==n;//如果相等,則為水仙花數。
}
int?main(void){
int?i;
for(i=100;i1000;++i){//對所有三位數判斷。
if(isNarcissistic(i))//如果是則輸出。
printf("%d\n",i);
}
return?0;
}
分享名稱:水仙花函數c語言,水仙花數c語言程序函數
本文網址:http://m.kartarina.com/article42/heiiec.html
成都網站建設公司_創(chuàng)新互聯,為您提供外貿網站建設、軟件開發(fā)、做網站、微信小程序、用戶體驗、App設計
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯