Easy
341158FavoriteShare
Given an integer (signed 32 bits), write a function to check whether it is a power of 4.
Example 1:
Input: 16
Output: true
Example 2:
Input: 5
Output: false
Follow up: Could you solve it without loops/recursion?
C++:
/*
* @Autor: SourDumplings
* @Date: 2019-09-11 08:10:46
* @Link: https://github.com/SourDumplings/
* @Email: changzheng300@foxmail.com
* @Description: https://leetcode.com/problems/power-of-four/
*/
class Solution
{
public:
bool isPowerOfFour(int num)
{
double d = log(num) / log(4);
return fabs(d - (int)d) < 1e-5;
}
};
Java:
/*
* @Autor: SourDumplings
* @Date: 2019-09-11 08:15:35
* @Link: https://github.com/SourDumplings/
* @Email: changzheng300@foxmail.com
* @Description: https://leetcode.com/problems/power-of-four/
*/
class Solution
{
public boolean isPowerOfFour(int num)
{
return (Math.log(num) / Math.log(4)) % 1 == 0;
}
}