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

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

दो नंबर दिए। हमारा काम यह जांचना है कि क्या वे बाइनरी प्रतिनिधित्व में एक दूसरे के आरेख हैं या नहीं। हम काउंटर (पुनरावृत्त) विधि और शब्दकोश तुलना का उपयोग करके इस समस्या को जल्दी से अजगर में हल कर सकते हैं।

उदाहरण

Input: a = 8, b = 16 
Output : Yes
Binary representations of both numbers have same 0s and 1s.

एल्गोरिदम

Step 1 : Given two numbers.
Step 2 : Convert both number into its binary using bin() function and remove first two characters because of bin().
Step 3 : Since binary representation of both numbers could differ in length so we will append zeroes in start of   shorter string to make both string of equal length.
Step 4 : Compare both dictionaries, if value of 0’s and 1’s in both dictionaries are equal then binary representations of two numbers are anagram otherwise not. Binary representations into dictionary. 

उदाहरण कोड

# function to Check if binary representations 
# of two numbers are anagram 
from collections import Counter 

def anagramoftwonumber(p1,p2): 
   # convert numbers into in binary 
   # and remove first two characters of  
   # output string because bin function  
   #'0b' as prefix in output string 
   bno1 = bin(p1)[2:] 
   bno2 = bin(p2)[2:] 
  
   # append zeros in shorter string 
   zeros = abs(len(bno1)-len(bno2)) 
   if (len(bno1)>len(bno2)): 
      bno2 = zeros * '0' + bno2 
   else: 
      bno1 = zeros * '0' + bno1 
  
   # convert binary representations  
   # into dictionary 
   dict1 = Counter(bno1) 
   dict2 = Counter(bno2) 
  
   # compare both dictionaries 
   if dict1 == dict2: 
      print(p1, p2 ,"are two anagram number") 
   else: 
      print(p1 , p2 ,"are not anagram number") 
  
# Driver program 
if __name__ == "__main__": 
   n1 = int(input("Enter First number ::>"))
   n2 = int(input("Enter Second number ::>"))
   anagramoftwonumber(n1,n2) 

आउटपुट

Enter First number ::>8
Enter Second number ::>16
8 16 are two anagram number

Enter First number ::>3
Enter Second number ::>2
3 2 are not anagram number

  1. प्राइम नंबर चेक करने के लिए पायथन प्रोग्राम

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

  1. आर्मस्ट्रांग नंबर की जांच के लिए पायथन प्रोग्राम

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

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

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