小编kri*_*001的帖子

在Python中检查给定数字是否为2的幂

下面的代码不适用于某些输入。

a, i = set(), 1
while i <= 10000:
    a.add(i)
    i <<= 1

N = int(input())
if N in a:
    print("True")
else:
    print("False")
Run Code Online (Sandbox Code Playgroud)

我的想法是,不是通过从1开始乘以2直到超过输入数字来检查每个输入是否为2的幂,而是在每一步进行比较,而是将所有2的幂存储在一组中以便检查O(1)中的给定输入。如何改善呢?

python

2
推荐指数
4
解决办法
2165
查看次数

标签 统计

python ×1