小編給大家分享一下如何使用javascript編程求水仙花數(shù),希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
專注于為中小企業(yè)提供網(wǎng)站建設(shè)、成都網(wǎng)站建設(shè)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)寒亭免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了上千企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
用javascript編程求水仙花數(shù)的方法:1、使用for循環(huán)查找遍歷所有三位數(shù);2、判斷遍歷的數(shù)字是否是各個(gè)位數(shù)的數(shù)字的3次冪數(shù)之和是否等于數(shù)字本身;3、分別選取個(gè)十百位上的數(shù);4、用if語句判斷i是否是水仙花數(shù)即可。
本文操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦。
首先我們要知道什么是水仙花數(shù):
水仙花數(shù)(Narcissistic number)也被稱為超完全數(shù)字不變數(shù)(pluperfect digital invariant, PPDI)、自戀數(shù)、自冪數(shù)、阿姆斯壯數(shù)或阿姆斯特朗數(shù)(Armstrong number),水仙花數(shù)是指一個(gè) 3 位數(shù),它的每個(gè)位上的數(shù)字的 3次冪之和等于它本身。例如:1^3 + 5^3+ 3^3 = 153。
通過JS取得水仙花數(shù):
思路分析:
1、使用for循環(huán)查找遍歷 從100到 999的所有三位數(shù);
2、判斷遍歷的數(shù)字是否是各個(gè)位數(shù)的數(shù)字的3次冪數(shù)之和是否等于數(shù)字本身,如果是即為水仙花數(shù),則在控制臺(tái)輸出(如何選取各個(gè)位數(shù))
(1)選取個(gè)位數(shù) 模以10,得到余數(shù)即為個(gè)位數(shù)
(2)選取十位數(shù) i除以10,再對(duì)結(jié)果進(jìn)行取整,取整后得到一個(gè)兩位數(shù)的整數(shù)。用這個(gè)結(jié)果對(duì)10取模,得到十位數(shù)
(3)選取百位數(shù) 三位數(shù)除以100,再取整,就得到了百位數(shù)。
3、使用 if語句 判斷 i 是否是水仙花數(shù)。Math對(duì)象用于執(zhí)行數(shù)學(xué)任務(wù),pow(x , y)函數(shù)用于求取 x 的 y 次冪。
for(var i = 100;i<=999;i++){ var gw = i%10; var sw = parseInt(i/10) % 10; var bw = parseInt(i/100); if(i == Math.pow(gw,3)+Math.pow(sw,3)+Math.pow(bw,3)){ console.log(i); } }
輸出結(jié)果為:
看完了這篇文章,相信你對(duì)“如何使用javascript編程求水仙花數(shù)”有了一定的了解,如果想了解更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!