水仙花数:100不是水仙花数,因为1^3+0^3+0^3 不等于 100;也就是一个n位数的每一位的n次方相加等于自己,这种数称为水仙花数。
<script> //返回指定位数里的所有水仙花数 //num为位数,默认为3 function narcissistic (num = 3){ var arr = new Array(); for (var i = Math.pow(10,num-1); i <= Math.pow(10, num)-1; i++) { var sum = 0; for(var j = 0; j<num; j++){ sum += Math.pow(i.toString()[j],num); } if (sum == i) { arr.push(i); } } return arr; } narcissistic(6); </script>
narcissistic函数第一个for循环循环n位数中的所有数,第二个for循环把一个数的每一位n次方后相加,如果最后等于自己本身,则存进数组,最后返回整个数组。
来自ansion博客
2017年5月23日