檢查一個數是否能被 2 的 n 次方整除,不使用 Python 中的算術運算子
假設我們有兩個數字 x 和 n。我們需要檢查 x 是否可以被 2^n 整除,不使用算術運算子。
因此,如果輸入為 x = 32 n = 5,則輸出將為 True,因為 32 = 2^5。
要解決這個問題,我們將遵循以下步驟 −
- 如果 x AND (2^n - 1) 為 0,則
- 返回 True
- 返回 False
示例
讓我們來看以下實現,以更好地理解 −
def solve (x, n): if (x & ((1 << n) - 1)) == 0: return True return False x = 32 n = 5 print(solve(x, n))
輸入
32, 5
輸出
True
廣告