zoukankan      html  css  js  c++  java
  • 231. Power of Two 342. Power of Four -- 判断是否为2、4的整数次幂

    231. Power of Two 

    Given an integer, write a function to determine if it is a power of two.

    class Solution {
    public:
        bool isPowerOfTwo(int n) {
            return n > 0 ? (n & (n-1)) == 0 : false;
        }
    };

    342. Power of Four

    Given an integer (signed 32 bits), write a function to check whether it is a power of 4.

    Example:
    Given num = 16, return true. Given num = 5, return false.

    Follow up: Could you solve it without loops/recursion?

        bool isPowerOfFour(int num) {
            static int mask = 0b01010101010101010101010101010101;
            
            //edge case
            if (num<=0) return false;
            
            // there are multiple bits are 1
            if ((num & num-1) != 0) return false;
            
            // check which one bit is zero, if the place is 1 or 3 or 5 or 7 or 9...,
            // then it is the power of 4
            if ((num & mask) != 0) return true;
            return false;
        }
  • 相关阅读:
    单位根反演学习笔记
    省选模拟测试17
    省选模拟测试16
    省选模拟测试15
    省选模拟测试14
    省选模拟测试13
    P4491 [HAOI2018]染色
    省选模拟测试12
    P4389 付公主的背包
    洛谷P3403
  • 原文地址:https://www.cnblogs.com/argenbarbie/p/5827979.html
Copyright © 2011-2022 走看看