给定一个整数,写一个函数来判断它是否是 4 的幂次方。如果是,返回 true ;否则,返回 false 。
整数 n 是 4 的幂次方需满足:存在整数 x 使得 n == 4x
示例 1:
输入:n = 16 输出:true 示例 2:
输入:n = 5 输出:false 示例 3:
输入:n = 1 输出:true
提示:
-231 <= n <= 231 - 1
进阶:你能不使用循环或者递归来完成本题吗?
通过次数98,156提交次数188,761
来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/power-of-four
代码
#include<iostream>
using namespace std;
bool isPowerofFour(int n){
if(n<0 || n==0){//排除小于0或等于0
return false;
}
if(n==1){//4的0次幂
return true;
}
while(n>0){//高于4的次幂
if(n%4!=0){
return false;
}
n=n/4;//降一级
if(n==1){
return true;
}
}
return false;
}
}
int main(){
bool k;
k=isPowerofFour(16);
cout<<"the result is power of 4 yes or not "<<k<<endl;
return 0;
}
|