分析与解答:
方法一:构造法
def isPower(n):
if n < 1:
return False
i = 1
while i <= n:
if i == n:
return True
i <<= 1
return False
if __name__ == "__main__":
if isPower(8):
print("8能表示成2的n次方")
else:
print("8不能表示成2的n次方")
if isPower(9):
print("9能表示成2的n次方")
else:
print("9不能表示成2的n次方")
方法二:与操作法
def isPower(n):
if n < 1:
return False
i = 1
while i <= n:
if i == n:
return True
i <<= 1
return False