[342]4的幂

/**

  • @param {number} n
  • @return {boolean}
    */
    // ∵4=2^2,4的幂一定满足是2的幂
    // ①4的幂中一定存在偶数个0,因而1一定在奇数位。
    // 使用0xa
    // ②4的幂%3==1
var isPowerOfFour = function(n) {
   return n>0&&(n&(n-1))==0&&(n&0xaaaaaaaa)==0;
/*
  return n>0&&(n&(n-1))==0&&n%3==1;
 *//
   /*
   if(n<=0) return 0; 
    let temp=n.toString(2);
    let cnt0=0,cnt1=0;
    for(const ec of temp)
    {
        if(ec==="0") cnt0++;
        if(ec==="1") cnt1++;
    }
   if(cnt1==1&&cnt0%2==0) return 1;
   return 0;
   */
}
posted @ 2021-05-31 20:55  Calculus9  阅读(93)  评论(0编辑  收藏  举报