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; } }