/*
题目描述:利用JavaScript的寻找自幂数自幂数是指一个ñ位数,它的每个位上的数字的ň次幕之和等于它本身。
该题要求考生写出一个函数,参数传递寻找自幕数的范围,返回值为一个数组,数组中为所写范围中的所有自幕数。
例如:函数参数输入100,1000返回值应该是[153370371407]。
函数参数输入100,10000,返回值应该是[153,370,371,407,1634,8208,9474]
*/
//最原始版本
function zms(max) {
for (var num = 100; num < max; num++) {
var a = num % 10; //个位数
var b = parseInt(num % 100 / 10); //十位数
var c = parseInt(num / 100); //百位数
if (num === a * a * a + b * b * b + c * c * c) {
console.log(num + ',');
}
}
} //开始使用Math数学函数
function zms(max) {
for (var num = 100; num < max; num++) {
var a = num % 10; //个位数
var b = parseInt(num % 100 / 10); //十位数
var c = parseInt(num / 100); //百位数
if (num === Math.pow(a, n) + Math.pow(b, n) + Math.pow(c, n) + Math.pow(d, n)) {
console.log(num + ',');
}
}
}
//发现max数字上万后不兼容,于是想到万能版本
function zms(max) {
var array = new Array();
for (var num = 100; num < max; num++) {
var x = 0;
var numStr = String(num);
var n = numStr.length;
for (var i = 0; i < n; i++) {
x += Math.pow(numStr[i], n); //Math.pow('x', n) x的n次方
}
if (num === x) {
array.push(num);
}
}
return array;
}
利用JavaScript寻找自幂数
最新推荐文章于 2021-07-22 18:37:45 发布