用 Python 检查数字是否是 2 的幂的程序


假设我们有一个数字 n。我们必须检查 n 是否为 2 的幂。

所以,如果输入类似 n = 2048,那么输出将为 True,因为 2048 是 2^11。

为了解决这个问题,我们将按照以下步骤进行操作:

  • 如果 n 与 0 相同,则

    • 返回 False

  • 当 (n AND (n - 1)) 与 0 相同(否则为 false)时返回 true

示例

让我们看下面的实现以更好地理解

Open Compiler
def solve(n): if n == 0: return False return (n & (n - 1)) == 0 n = 2048 print(solve(n))

输入

2048

Learn Python in-depth with real-world projects through our Python certification course. Enroll and become a certified expert to boost your career.

输出

True

更新日期:2021 年 10 月 11 日

622 次浏览

开启你的 职业生涯

完成课程,获得认证

开始
广告