Page

[原创]用JavaScript写了个水仙花函数

734Anson17-05-23


[javaScript]写了个水仙花函数

水仙花数: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次方后相加,如果最后等于自己本身,则存进数组,最后返回整个数组。



blob.png


来自ansion博客

2017年5月23日