मान लीजिए हमारे पास एक संख्या n और दूसरा मान k है। हमें जांचना है कि n में kवां बिट सेट (1) है या अनसेट (0)। k का मान दाएं हाथ की ओर से माना जाता है।
तो, यदि इनपुट n = 18 k = 2 जैसा है, तो आउटपुट Set होगा क्योंकि 18 का बाइनरी रूप 10010 है तो दूसरा अंतिम बिट 1 (सेट) है।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे:
- temp := n को (k - 1) बार दाएं शिफ्ट करने के बाद
- यदि temp AND 1, 1 है, तो
- "Set" लौटाएं
- "Unset" लौटाएं
बेहतर समझ के लिए निम्नलिखित कार्यान्वयन देखें:
उदाहरण कोड
def solve(n,k): temp = n >> (k - 1) if temp & 1: return "Set" return "Unset" n = 18 k = 2 print(solve(n, k))
इनपुट
18
आउटपुट
Set