给定一个整数 (32 位有符号整数),请编写一个函数来判断它是否是 4 的幂次方。
示例 1:
输入: 16
输出: true
示例 2:
输入: 5
输出: false
进阶:
你能不使用循环或者递归来完成本题吗?
链接:https://leetcode-cn.com/problems/power-of-four
思路:原谅我粗暴的解法,其实4的幂在32位范围内也没几个。
bool isPowerOfFour(int num){
if (num == 0x01 || \
num == 0x04 || \
num == 0x10 || \
num == 0x40 || \
num == 0x100 || \
num == 0x400 || \
num == 0x1000 || \
num == 0x4000 || \
num == 0x10000 || \
num == 0x40000 || \
num == 0x100000 || \
num == 0x400000 || \
num == 0x1000000 || \
num == 0x4000000 || \
num == 0x10000000 || \
num == 0x40000000)
return true;
return false;
}