LeetCode 342

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 }
原文地址:https://www.cnblogs.com/Juntaran/p/5479116.html