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?
1 /************************************************************************* 2 > File Name: LeetCode342.c 3 > Author: Juntaran 4 > Mail: Jacinthmail@gmail.com 5 > Created Time: 2016年05月10日 星期二 02时50分00秒 6 ************************************************************************/ 7 8 /************************************************************************* 9 10 Power of Four 11 12 Given an integer (signed 32 bits), write a function to check whether it is a power of 4. 13 14 Example: 15 Given num = 16, return true. Given num = 5, return false. 16 17 Follow up: Could you solve it without loops/recursion? 18 19 ************************************************************************/ 20 21 #include "stdio.h" 22 23 int isPowerOfFour(int num) { 24 double tmp = log10(num)/log10(4); 25 return tmp == (int)tmp ? 1 : 0; 26 } 27 28 int main() 29 { 30 int n = 9; 31 int ret = isPowerOfFour(n); 32 printf("%d ",ret); 33 34 n = 16; 35 ret = isPowerOfFour(n); 36 printf("%d ",ret); 37 38 return 0; 39 }