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