水仙花數:一個三位的整數,個、十、百的立方和等于該整數(例:153=1*1*1+5*5*5+3*3*3)
步驟構思:
1、依次回圈遍歷輸出所有三位數,取整
2、設定條件判斷
3、往陣列存盤輸出
方法一:直接數字
var arr = [] //所有的水仙花數就是個集合陣列
for (var i = 100; i < 1000; i++) {
var a = i % 10; //取出個位數字
var b = parseInt(i % 100 / 10); //取出十位數字,小法二:((i/10)%10)
var c = parseInt(i / 100); // 取出百位數字
if (a * a * a + b * b * b + c * c * c === i) { //用水仙花數條件進行判斷
arr.push(i); // 符合條件則追加
}
}
console.log(arr); // [153, 370, 371, 407]
方法二:取字串轉數字
var newArr = []
for (var i = 100; i <= 999; i++) {
var str_i = i.toString();
var hundred = Number(str_i.charAt(0)); //運用charAt(index)函式找百位數
var ten = Number(str_i.charAt(1)); //找十位數
var dig = Number(str_i.charAt(2)); //找個位數
var result = Math.pow(hundred, 3) + Math.pow(ten, 3) + Math.pow(dig, 3); //用Math.pow(變數,次冪)實作立方運算
if (result === i) //用水仙花數條件進行判斷
{
newArr.push(i)
}
}
console.log(newArr); // [153, 370, 371, 407]
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/122773.html
標籤:JavaScript
下一篇:微信小程式路由跳轉
