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

पायथन में XOR योग न्यूनतम करने वाली संख्या ढूंढना

समस्या विवरण

सरणी A दी गई है, एक संख्या X ढूंढें जिससे Σ(A[i] XOR X) न्यूनतम हो।

उदाहरण

इनपुट: [3, 4, 5, 6, 7]

आउटपुट: X = 7, Sum = 10

एल्गोरिदम (बिटवाइज़ बहुमत)

  1. सरणी में अधिकतम तत्व element ढूंढें
  2. p = floor(log2(element)) + 1 (बिट्स की संख्या)
  3. X = 0
  4. प्रत्येक बिट पोजीशन i (0 से p-1) के लिए:
    • गिनें कितने तत्वों में i-th बिट सेट है (cnt)
    • यदि n/2: X में i-th बिट सेट करें
  5. sum = Σ(X XOR A[i]) की गणना करें
  6. X और sum वापस करें

पायथन कार्यान्वयन

from math import log2

def search_res(arr, n):
    element = max(arr)
    p = int(log2(element)) + 1
    X = 0
    for i in range(p):
        cnt = sum(1 for x in arr if x & (1 << i))
        if cnt > n // 2:
            X |= (1 << i)
    total = sum(X ^ x for x in arr)
    print(f"X = {X}, Sum = {total}")

arr = [3, 4, 5, 6, 7]
n = len(arr)
search_res(arr, n)

इनपुट

[3, 4, 5, 6, 7]

आउटपुट

X = 7, Sum = 10
  1. पायथन प्रोग्राम: किसी संख्या के सम गुणनखंडों का योग ज्ञात करें पायथन प्रोग्राम: किसी संख्या के सम गुणनखंडों का योग ज्ञात करें

    इस लेख में हम दी गई समस्या के समाधान के बारे में जानेंगे। समस्या कथन हमें एक संख्या दी गई है, हमें उस संख्या के सभी सम गुणनखंडों का योग प्रदर्शित करना है। दृष्टिकोण हम जांचते हैं कि क्या संख्या विषम है, तो कोई सम गुणनखंड नहीं हैं, इसलिए 0 वापस करें। यदि संख्या सम है, तो हम गणना के माध्यम से जाते हैं

  1. पायथन प्रोग्राम: ऐरे का योग ढूंढें पायथन प्रोग्राम: ऐरे का योग ढूंढें

    इस लेख में, हम दिए गए प्रॉब्लम स्टेटमेंट को हल करने के समाधान और दृष्टिकोण के बारे में सीखेंगे। प्रॉब्लम स्टेटमेंट इनपुट के रूप में एक ऐरे दिए जाने पर, हमें दिए गए ऐरे का योग निकालने की आवश्यकता है। यहां हम ब्रूट-फोर्स दृष्टिकोण का पालन कर सकते हैं यानी एक लिस्ट को ट्रैवर्स करना और प्रत्येक एलिमें

  1. पायथन प्रोग्राम: संख्या के फैक्टर्स का न्यूनतम योग ढूंढें पायथन प्रोग्राम: संख्या के फैक्टर्स का न्यूनतम योग ढूंढें

    इस लेख में, हम नीचे दिए गए प्रॉब्लम स्टेटमेंट के समाधान के बारे में सीखेंगे: प्रॉब्लम स्टेटमेंट एक नंबर इनपुट दिए जाने पर, दी गई संख्या के फैक्टर्स का न्यूनतम योग ढूंढें। यहां हम सभी फैक्टर्स और उनके संबंधित योग की गणना करेंगे और फिर उनमें से न्यूनतम ढूंढेंगे। तो संख्या के गुणनफल का न्यूनतम योग ढू