一、问题分析
要求4的幂,不太好求,我们可以参考位运算上一题:求2的幂的方法,我们可以知道如果是2的幂的话,一定是4的幂,但是4的幂还需要满足什么条件呢?我们通过归纳可以知道4的幂取模3之后得到的余数是1,而这个条件便可以将4的幂从2的幂中筛选出来。
二、代码实现
class Solution {
public:
bool isPowerOfFour(int n) {
if(n>0&&(n&(n-1))==0&&n%3==1)
return true;
return false;
}
};