Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Python

पायथन में 0 से n तक की सभी संख्याओं के सेट बिट्स की कुल संख्या की गणना करने का कार्यक्रम

मान लीजिए कि हमारे पास एक संख्या संख्या है। 0 i संख्या की श्रेणी में प्रत्येक संख्या के लिए हमें उनके बाइनरी समकक्ष में 1 की संख्या की गणना करनी होगी और उन्हें एक सूची के रूप में वापस करना होगा। अतः यदि संख्या 5 है, तो संख्याएँ [0, 1, 2, 3, 4, 5] हैं, और इन संख्याओं में 1 की संख्या [0, 1, 1, 2, 1, 2] है, तो यह होगा वापसी 7.

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

  • res :=एक सरणी जिसमें num + 1 की संख्या 0 होती है

  • ऑफ़सेट :=0

  • मेरे लिए 1 से num + 1 तक की सीमा में

    • अगर i और i − 1 =0, तो res[i] :=1 और ऑफ़सेट :=0

    • और ऑफ़सेट को 1 से बढ़ाएँ और res[i] :=1 + res[offset]

  • रेस के तत्वों का रिटर्न योग

आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -

उदाहरण

class Solution:
   def countBits(self, num):
      result = [0] * (num+1)
      offset = 0
      for i in range(1,num+1):
         if i & i-1 == 0:
            result[i] = 1
            offset = 0
         else:
            offset+=1
            result[i] = 1 + result[offset]
      return sum(result)
ob1 = Solution()
print(ob1.countBits(5))

इनपुट

5

आउटपुट

7

  1. 1 से n तक सभी संख्याओं में कुल सेट बिट्स को गिनने के लिए पायथन प्रोग्राम।

    एक सकारात्मक पूर्णांक n को देखते हुए, हम इसके द्विआधारी प्रतिनिधित्व में बदल जाते हैं और सेट बिट्स की कुल संख्या की गणना करते हैं। उदाहरण Input : n=3 Output : 4 एल्गोरिदम Step 1: Input a positive integer data. Step 2: then convert it to binary form. Step 3: initialize the variable s = 0. Step 4: tra

  1. एक श्रेणी में अनसेट बिट्स को गिनने के लिए पायथन प्रोग्राम।

    एक सकारात्मक संख्या और बिट्स की सीमा को देखते हुए। हमारा काम अनसेट बिट्स को एक रेंज में गिनना है। Input : n = 50, starting address = 2, ending address = 5 Output : 2 2 से 5 की सीमा में 2 अनसेट बिट्स हैं। एल्गोरिदम Step 1 : convert n into its binary using bin(). Step 2 : remove first two characte

  1. एक संख्या में कुल बिट्स गिनने के लिए एक पायथन प्रोग्राम लिखें?

    पहले हम एक नंबर इनपुट करते हैं फिर इस नंबर को बिन () फ़ंक्शन का उपयोग करके बाइनरी में परिवर्तित करते हैं और फिर आउटपुट स्ट्रिंग के पहले दो अक्षर 0b को हटाते हैं, फिर बाइनरी स्ट्रिंग की लंबाई की गणना करते हैं। उदाहरण Input:200 Output:8 स्पष्टीकरण Binary representation of 200 is 10010000 एल्गोरिद