水仙花數,又稱阿姆斯特朗數,是指一個n位數(n≥3)其各位數字的n次方和等于該數本身的數,例如153,1^3 + 5^3 + 3^3 = 153。
在javascript語言中,要求找出1000以內所有的水仙數,可以使用for循環,判斷每個數是否為水仙數。
for (let i = 100; i < 1000; i++) { let sum = 0; let temp = i; while (temp > 0) { let digit = temp % 10; sum += digit * digit * digit; temp = parseInt(temp / 10); } if (sum === i) { console.log(i); } }
上面的代碼中,首先使用for循環遍歷1000以內的所有數,然后通過一個while循環計算每個數的各位數字的立方和。最后判斷計算結果是否和原數相等,如果相等就是一個水仙數。
使用上面的代碼,可以輸出1000以內的所有的水仙數,它們分別是:
153 370 371 407
如果要進一步擴展范圍,可以修改循環的范圍,例如,要找出4位數中的水仙數,可以使用以下代碼:
for (let i = 1000; i < 10000; i++) { let sum = 0; let temp = i; while (temp > 0) { let digit = temp % 10; sum += digit * digit * digit * digit; temp = parseInt(temp / 10); } if (sum === i) { console.log(i); } }
通過修改循環的起始和終止點,可以找出任意位數中的水仙數。
總之,使用javascript語言找出水仙數并不難,只需要遍歷所有的數,判斷每個數是否符合水仙數的條件即可。這種算法雖然簡單,但是在計算機科學中是一種很重要的思想:枚舉。它可以解決很多實際問題,值得學習和掌握。