今天继续刷LeetCode,第342题,判断一个数是否是4的阶乘。
分析:
和3一样,通过不断对n进行除4操作,判断结果求余4是否为0,直到为1,。但是3和4的阶乘不同的一点是,4的阶乘可以通过位运算来实现。
问题:
1、位运算右移两位是n>>2;
附上C++代码:
class Solution {
public:
bool isPowerOfFour(int num) {
if(num<=0)
return false;
while(num%4==0)
num/=4;
return num==1;
}
};
附上Python代码:
class Solution:
def isPowerOfFour(self, num: int) -> bool:
if num<=0:
return False
while num%4==0:
num/=4
return num==1
本文探讨了如何判断一个数是否为4的幂,并提供了C++和Python两种语言的实现代码。通过不断除以4并检查余数,直至结果为1,以此验证输入数是否符合4的幂的特点。
720

被折叠的 条评论
为什么被折叠?



