Quick actions

cmd+k|ctrl+k

Navigation

Languages

power and power time of 2

Snippet info

Language

JavaScript

Visibility

public

Author

pheker

Created

2018-05-04T12:44:21Z

Updated

2018-05-04T12:52:36Z

console.log("Hello World!");

// 是否是2的次幂
function isPowerOfTwo(n){
    if(n<1) return false;
    for(var oneNum = 0; n > 0 && oneNum <2; n >>= 1){
        (n&1) && oneNum++;
    }
    return oneNum == 1;
}

console.time("ElapsedTime2")
var i=0,max = 20;
console.log("-----------list power of 2 less than "+ max+"------------");
while(i++ < max){
    isPowerOfTwo(i) && console.log(i);
}
console.timeEnd("ElapsedTime2")

// 几次幂
function powerTimeOfTwo(n){
    if(n<1) return false;
    for(var oneNum = 0,time = 0; n > 0 && oneNum < 2; n >>= 1){
        n&1? oneNum++ : time++;
    }
    return oneNum !== 1? false:time;
}

console.time("ElapsedTime")
var max = 20,i=0,n=false;
console.log("------------list power and power time of 2 less than "+ max+"------------");
while(i++ < max){
    (n = powerTimeOfTwo(i)) !== false && console.log(i,"2^"+n);
}
console.timeEnd("ElapsedTime")

INFO