मान लीजिए कि हमारे पास एक संख्या n और दूसरा मान k है। हमें जांचना है कि n में kth बिट सेट है या नहीं (1) या अनसेट (0)। k का मान दायीं ओर से माना जाता है।
इसलिए, यदि इनपुट n =18 k =2 जैसा है, तो आउटपुट सेट किया जाएगा क्योंकि 18 का बाइनरी फॉर्म 10010 है, इसलिए दूसरा अंतिम बिट 1 (सेट) है।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- अस्थायी:=n बिट्स (k-1) को दाईं ओर स्थानांतरित करने के बाद
- यदि अस्थायी और 1 1 है, तो
- वापस "सेट"
- वापस "अनसेट" करें
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
उदाहरण कोड
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