मान लीजिए हमारे पास दशमलव संख्या प्रणाली में एक संख्या है। हमें संख्या का पूरक बाइनरी रूप में प्राप्त करना है, फिर इसे दशमलव में बदलना है और परिणाम वापस करना है। तो अगर संख्या 20 है, तो बाइनरी फॉर्म 10100 होगा, पूरक 01011 होगा, यह दशमलव में 11 है
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- s :=संख्या n की बाइनरी स्ट्रिंग
- योग :=0 और अंक :=1
- प्रत्येक तत्व के लिए मैं s विपरीत दिशा में
- अगर मैं ='बी', तो योग लौटाएं
- अन्यथा जब मैं ='0', तो योग :=योग + अंक
- संख्या:=संख्या * 2
उदाहरण
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
class Solution(object): def bitwiseComplement(self, N): s = str(bin(N)) sum = 0 num = 1 for i in s[::-1]: if i == "b": return sum elif i =="0": sum+=num num*=2 ob1 = Solution() print(ob1.bitwiseComplement(20))
इनपुट
20
आउटपुट
11