342 Power of Four 4的幂

给定一个整数 (32位有符整数型),请写出一个函数来检验它是否是4的幂。
示例:
当 num = 16 时 ,返回 true 。 当 num = 5时,返回 false。
问题进阶:你能不使用循环/递归来解决这个问题吗?

详见:https://leetcode.com/problems/power-of-four/description/

C++:

方法一:

class Solution {
public:
    bool isPowerOfFour(int num) {
        while(num&&(num%4==0))
        {
            num/=4;
        }
        return num==1;
    }
};

 方法二:

class Solution {
public:
    bool isPowerOfFour(int num) {
        return num>0&&!(num&num-1)&&(num-1)%3==0;
    }
};

 参考:https://www.cnblogs.com/grandyang/p/5403783.html

posted on 2018-04-14 22:37  lina2014  阅读(95)  评论(0编辑  收藏  举报

导航