【例3】检测2的幂次
3.代码实现
class Solution:
def checkPowerOf2(self, n):
ans = 1
for i in range(31):
if ans == n:
return True
ans = ans << 1
return False
if __name__ == '__main__':
temp = Solution()
nums1 = 16
nums2 = 17
print(("输入:"+str(nums1)))
print(("输出:"+str(temp.checkPowerOf2(nums1))))
print(("输入:"+str(nums2)))
print(("输出:"+str(temp.checkPowerOf2(nums2))))
【例4】求平方根
3.代码实现
class Solution:
def sqrt(self, x):
l, r = 0, x
while l + 1 < r:
m = (r+l) // 2
if m * m == x:
return m
elif m * m > x:
r = m
else:
l = m
if l * l == x:
return l
if r * r == x:
return r
return l
if __name__ == '__main__':
temp = Solution()
x1 = 5
x2 = 10
print(("输入:"+str(x1)))
print(("输出:"+str(temp.sqrt(x1))))
print(("输入:"+str(x2)))
print(("输出:"+str(temp.sqrt(x2))))