判断是水仙花数 自幂数 和数字的长度

1.水仙花数 function isShuiXianHua(n){
var bai = Math.floor(n/100); // 带小数
var shi = Math.floor(n%100/10);
var ge = n % 10;
// Math.pow(1,3) = 1^3v var i = Math.pow(bai,3) + Math.pow(shi,3) + Math.pow(ge,3);
return i==n;
}
for(var i = 100;i<1000;i++){
// isShuiXianHua(i)==true
if(isShuiXianHua(i)){
console.log("水仙数:"+i)
}
}




2.自幂数

1 获取的数字的长度
/
2 每一个位上的数字
function isZiMiShhu(n){
// 获取数字的长度
var length = lengthOfNumber(n)
// 每一位上相应的次方相加和
var sum = 0;
// for循环 获取每一位的数字
for(var i=0;i // 位上数字
var current = n % Math.pow(10,i+1) / Math.pow(10,i);
// 向下求整
current = Math.floor(current)
// 把每一位的长度次方加起来
sum = sum + Math.pow(current,length);
}
return sum==n
}
for(var i =0 ;i<1000000;i++){
if(isZiMiShhu(i)){
console.log("--------"+i);
}
}



3.判断一个数字的长度
function lengthOfNumber(n){
var i = 0 //长度
var temp = Math.pow(10,i) // temp = 1
// n/temp>1 n/1>1 3/1 i++ 13/1>1
// n = 123 temp = 1
// 123/1 > 1 成立;i=1 temp = 10
// 123/10> 1 成立;i=2 temp = 100
// 123/100>1 成立;i=3 temp = 1000
// 123/1000<1 不成立 {不执行}
while(n/temp>=1){
i++; //1
temp = Math.pow(10,i);
}
return i;
} var count = lengthOfNumber(1);
console.log(count)
posted @ 2019-09-27 11:14  眉遮白霜亦如雪  阅读(186)  评论(0编辑  收藏  举报