题目概述:
给定一个整数 (32 位有符号整数),请编写一个函数来判断它是否是 4 的幂次方。
示例 1: 输入: 16 输出: true
示例 2: 输入: 5 输出: false
简洁思路:
判断4的幂,1是任何数的幂,当num=1的时候,返回true;当num=0或者num不是4的倍数的时候返回false;当num=4的时候一定第4的幂,返回true;然后通过递归num/4依次循环。
代码如下:
bool isPowerOfFour(int num) {
if(num==1){
return true;
}
else if(num==0 || num%4!=0){
return false;
}
else if (num==4){
return true;
}
return isPowerOfFour(num/4);
}