给定一个整数 (32 位有符号整数),请编写一个函数来判断它是否是 4 的幂次方。
示例 1:
输入: 16 输出: true
示例 2:
输入: 5 输出: false
进阶:
你能不使用循环或者递归来完成本题吗?
递归方法:
class Solution:
def isPowerOfFour(self, num):
"""
:type num: int
:rtype: bool
"""
if num <=0:
return False
if num == 1:
return True
if num %4 == 0:
return self.isPowerOfFour(num/4)
else:
return False
class Solution:
def isPowerOfFour(self, num):
"""
:type num: int
:rtype: bool
"""
if num <=0:
return False
####math.log()取对数 a的x次幂等于N==>x记作以a为底的log(N),pow是计算幂###
return pow(4,int(math.log(num,4)))==num