JavaScript初学者编程题(9)
题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。
JavaScript部分
for(var i=100;i<=999;i++){
if((Math.pow(parseInt(String(i)[0]),3)+Math.pow(parseInt(String(i)[1]),3)+Math.pow(parseInt(String(i)[2]),3))==i){
console.log(i);
}
}
思路
- 首先将i转化为字符串。
- 因为js中字符串可以转化为数组的特性,所以可以使用下标分别得到百位、十位、个位。
- 然后将得到的这一位通过parseInt转化为整型变量。
- 使用Math.pow,将这一位进行三次方计算。
- 将各个位都相加,然后判断是否等于i本身。
- 如果等于i本身则输出。