4的幂
给定一个整数 (32 位有符号整数),请编写一个函数来判断它是否是 4 的幂次方。
示例 1:
输入: 16
输出: true
示例 2:
输入: 5
输出: false
Python代码实现:
1.循环
class Solution:
def isPowerOfFour(self, num):
if num <= 0:
return False
while num % 4 == 0:
num //= 4
return num == 1
2.递归
class Solution:
def isPowerOfFour(self, num):
if num <= 0:
return False
if num ==1:
return True
if num % 4 != 0:
return False
return self.isPowerOfFour(num//4)
3.进阶
使用log函数实现,记住加int。了解log函数点击进入
class Solution:
def isPowerOfFour(self, num):
if num<=0:
return False
return True if pow(4,int(math.log(num,4)))==num else False