1、使用for循环查找遍历 从100到 999的所有三位数;
2、判断遍历的数字是否是各个位数的数字的3次幂数之和是否等于数字本身,如果是即为水仙花数,则在控制台输出(如何选取各个位数)
(1)选取个位数 除以10,得到余数即为个位数
(2)选取十位数 i除以10,再对结果进行取整,取整后得到一个两位数的整数。用这个结果对10取模,得到十位数
(3)选取百位数 三位数除以100,再取整,就得到了百位数。
3、使用 if语句 判断 i 是否是水仙花数。Math对象用于执行数学任务,pow(x , y)函数用于求取 x 的 y 次幂。
1 for(var i = 100;i<=999;i++){ 2 var gw = i%10; 3 var sw = parseInt(i/10) % 10; 4 var bw = parseInt(i/100); 5 if(i == Math.pow(gw,3)+Math.pow(sw,3)+Math.pow(bw,3)){ 6 console.log(i); 7 } 8 }
输出结果为:153 370 371 407 undefined