用 Python 编写程序检查某个数字是否为 2 的幂

pythonserver side programmingprogramming更新于 2025/12/17 14:36:17

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

因此,如果输入为 n = 2048,则输出将为 True,因为 2048 是 2^11。

要解决这个问题,我们将遵循以下步骤 −

  • 如果 n 与 0 相同,则

    • 返回 False

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

示例

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

def solve(n):
   if n == 0:
      return False
   return (n & (n - 1)) == 0

n = 2048
print(solve(n))

输入

2048

输出

True

相关文章


有用资源