In this Leetcode Power of Four problem solution, you have given an integer n, return true if it is a power of four. Otherwise, return false. An integer n is a power of four, if there exists an integer x such that n == 4x.

Leetcode Power of Four problem solution


Problem solution in Python.

def isPowerOfFour(self, num):
    """
    :type num: int
    :rtype: bool
    """
    
    return num>0 and num&(num-1)==0 and len("{0:b}".format(num))%2==1



Problem solution in Java.

public boolean isPowerOfThree(int n) {
         if(n==0){
            return false;
        }
        while(n!=1){
            if(n%3==0){
                n/=3;
            }
            else{
                break;
            }
        }
        return n==1;
    }


Problem solution in C++.

class Solution {
public:
    bool isPowerOfFour(int num) {
        if(num<=0) return false;
        long product = pow(2,31);
        int n = sqrt(num);
        if(n*n!=num) return false;
        return product%n==0;
    }
};


Problem solution in C.

bool isPowerOfFour(int n)
{
    if(n<=0)
        return false;
    if(n==1)
        return true;
    if( (__builtin_ctz(n)%2==0) && (__builtin_ctz(n)>0) && (__builtin_popcount(n)==1) )
        return true;
    return false;
}