在 Python 中檢查數字只設置了第一位和最後一位位
假設我們有一個數字 n。我們必須檢查這個數字是否只在第一位和最後一位設定了兩個位。
因此,如果輸入為 n = 17,則輸出為 True,因為 n 的二進位制表示為 10001,只有第一位和最後一位為 1。
為了解決這個問題,我們將遵循以下步驟 -
- 如果 n 等於 1,則
- 返回 True
- 如果 n - 1 是 2 的冪,則返回 true,否則返回 false
讓我們看看以下實現來獲得更好的理解 -
示例程式碼
def is_pow_of_two(n): return (n & n-1) == 0 def solve(n): if n == 1: return True return is_pow_of_two (n-1) n = 17 print(solve(n))
輸入
17
輸出
True
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP