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

पायथन में बाइनरी प्रतिनिधित्व में सेट बिट्स की अभाज्य संख्या

मान लीजिए कि हमारे पास दो पूर्णांक L और R हैं, हमें श्रेणी [L, R] (समावेशी) में संख्याओं की संख्या ज्ञात करनी है, जिनके बाइनरी रूप में सेट बिट्स की एक अभाज्य संख्या है।

इसलिए, यदि इनपुट एल =6 और आर =10 की तरह है, तो आउटपुट 4 होगा, क्योंकि 4 नंबर हैं 6(110),7(111),9(1001),10(1010), सभी में प्राइम है सेट बिट्स की संख्या।

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

  • गिनती :=0
  • जे के लिए एल से आर श्रेणी में, करें
  • यदि j का सेट बिट काउंट [2,3,5,7,11,13,17,19] में है, तो
    • गिनती :=गिनती + 1
  • वापसी की संख्या

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

उदाहरण

class Solution:
   def countPrimeSetBits(self, L, R):
      def popcount(i):
         return bin(i)[2:].count('1')
      count = 0
      for j in range(L,R+1):
         if popcount(j) in [2,3,5,7,11,13,17,19]:
            count +=1
      return count
ob = Solution()
print(ob.countPrimeSetBits(6,10))

इनपुट

6,10

आउटपुट

4

  1. सी में फ्लोटिंग पॉइंट नंबर में सेट बिट्स को कैसे गिनें?

    इस समस्या में, एक फ्लोटिंग पॉइंट मान दिया जाता है। हमें इसके द्विआधारी प्रतिनिधित्व में सेट बिट्स की संख्या का पता लगाना है। उदाहरण के लिए, यदि एक फ्लोटिंग पॉइंट नंबर 0.15625 है, तो छह सेट बिट्स हैं। एक ठेठ सी संकलक एकल परिशुद्धता फ़्लोटिंग पॉइंट प्रतिनिधित्व का उपयोग करता था। तो यह इस तरह दिखेगा।

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

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें एक धनात्मक पूर्णांक N दिया गया है, हमें लंबाई N के साथ उपलब्ध सभी संभावित भिन्न बाइनरी स्ट्रिंग्स को गिनने की आवश्यकता है ताकि स्ट्रिंग में कोई क्रमागत 1 मौजूद न हो। आइए अब नीचे दिए गए कार्यान्वयन में समाधान देख

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

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