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

दो संख्याओं के बाइनरी प्रतिनिधित्व एनाग्राम हैं या नहीं जांचने का पायथन प्रोग्राम

समस्या विवरण

दो संख्याएं दी गई हैं। हमारा कार्य यह जांचना है कि क्या वे बाइनरी प्रतिनिधित्व में एक-दूसरे के एनाग्राम हैं या नहीं। हम इस समस्या को पायथन में Counter(iterable) विधि और डिक्शनरी तुलना का उपयोग करके जल्दी हल कर सकते हैं।

उदाहरण

इनपुट: a = 8, b = 16
आउटपुट: हां
दोनों संख्याओं के बाइनरी प्रतिनिधित्व में समान 0 और 1 हैं।

एल्गोरिदम

  1. दो संख्याएं दी गई हैं।
  2. bin() फंक्शन का उपयोग करके दोनों संख्याओं को बाइनरी में बदलें और bin() के कारण पहले दो वर्ण हटाएं।
  3. चूंकि दोनों संख्याओं का बाइनरी प्रतिनिधित्व लंबाई में भिन्न हो सकता है, इसलिए हम छोटी स्ट्रिंग की शुरुआत में शून्य जोड़कर दोनों स्ट्रिंग को समान लंबाई का बनाएंगे।
  4. दोनों डिक्शनरी की तुलना करें, यदि दोनों डिक्शनरी में 0 और 1 के मान समान हैं तो दो संख्याओं के बाइनरी प्रतिनिधित्व एनाग्राम हैं अन्यथा नहीं।

उदाहरण कोड

# दो संख्याओं के बाइनरी प्रतिनिधित्व एनाग्राम हैं या नहीं जांचने का फंक्शन
from collections import Counter

def anagramoftwonumber(p1, p2):
    # संख्याओं को बाइनरी में बदलें
    # और आउटपुट स्ट्रिंग के पहले दो वर्ण हटाएं
    bno1 = bin(p1)[2:]
    bno2 = bin(p2)[2:]
    # छोटी स्ट्रिंग में शून्य जोड़ें
    zeros = abs(len(bno1) - len(bno2))
    if (len(bno1) > len(bno2)):
        bno2 = zeros * '0' + bno2
    else:
        bno1 = zeros * '0' + bno1
    # बाइनरी प्रतिनिधित्व को डिक्शनरी में बदलें
    dict1 = Counter(bno1)
    dict2 = Counter(bno2)
    # दोनों डिक्शनरी की तुलना करें
    if dict1 == dict2:
        print(p1, p2, "दो एनाग्राम संख्या हैं")
    else:
        print(p1, p2, "एनाग्राम संख्या नहीं हैं")

# ड्राइवर प्रोग्राम
if __name__ == "__main__":
    n1 = int(input("पहली संख्या दर्ज करें ::>"))
    n2 = int(input("दूसरी संख्या दर्ज करें ::>"))
    anagramoftwonumber(n1, n2)

आउटपुट

पहली संख्या दर्ज करें ::>8
दूसरी संख्या दर्ज करें ::>16
8 16 दो एनाग्राम संख्या हैं
पहली संख्या दर्ज करें ::>3
दूसरी संख्या दर्ज करें ::>2
3 2 एनाग्राम संख्या नहीं हैं
  1. पायथन प्रोग्राम: अभाज्य संख्या जांचें पायथन प्रोग्राम: अभाज्य संख्या जांचें

    इस लेख में हम दी गई समस्या के समाधान के बारे में जानेंगे। समस्या कथन हमें एक संख्या दी गई है, हमें जांचना है कि दी गई संख्या अभाज्य संख्या है या नहीं। 1 से बड़ी दी गई धनात्मक संख्या जिसके 1 और संख्या स्वयं के अलावा कोई अन्य गुणनखंड नहीं होते, उसे अभाज्य संख्या कहा जाता है। 2, 3, 5, 7 आदि अभाज्य संख्

  1. पायथन प्रोग्राम: आर्मस्ट्रांग नंबर चेक करें पायथन प्रोग्राम: आर्मस्ट्रांग नंबर चेक करें

    इस लेख में, हम दिए गए प्रॉब्लम स्टेटमेंट को हल करने के समाधान और दृष्टिकोण के बारे में सीखेंगे। प्रॉब्लम स्टेटमेंट एक इंटीजर n दिए जाने पर, हमें जांचना होगा कि दिया गया इंटीजर आर्मस्ट्रांग नंबर है या नहीं। एक पॉजिटिव इंटीजर को n क्रम का आर्मस्ट्रांग नंबर कहा जाता है यदि abcd... = a^n + b^n + c^n +

  1. - बाइनरी संख्या में K लगातार 1 हैं या नहीं जांचने का पायथन प्रोग्राम

    समस्या विवरण सबसे पहले हम 1 और 0 के संयोजन के साथ एक यूजर इनपुट स्ट्रिंग लेते हैं। फिर 1 की एक नई स्ट्रिंग बनाते हैं, फिर जांचते हैं कि क्या p संख्या में लगातार 1 मौजूद हैं या नहीं। यदि मौजूद हैं तो FOUND प्रदर्शित करें अन्यथा NOT FOUND। उदाहरण बाइनरी संख्या ::1111001111 लगातार 1 दर्ज करें :3 लगाता