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

पायथन में दिए गए समीकरण का मान ढूंढने का प्रोग्राम

मान लीजिए हमें पांच इंटीजर नंबर a, b, c, d, n दिए गए हैं। हमें ((a^b)^(c^d)) mod n ढूंढना है। आउटपुट मान एक इंटीजर नंबर है।

इसलिए, यदि इनपुट a = 2, b = 3, c = 2, d = 4, n = 10 है, तो आउटपुट 6 होगा।

2^3 = 8
2^4 = 16
8^16 = 281474976710656
281474976710656 mod 10 = 6

समाधान दृष्टिकोण

  • helper() फंक्शन परिभाषित करें यूलर टोटिएंट फंक्शन की गणना के लिए
  • विशेष मामलों को संभालें (b=0, c=0, d=0, a=0, d=1)
  • यूलर के प्रमेय का उपयोग करके मॉड्यूलर एक्सपोनेंशिएशन की गणना करें
  • बड़े एक्सपोनेंट के लिए मॉड्यूलर अंकगणित लागू करें

उदाहरण कार्यान्वयन

def helper(n):
    p = n
    i = 2
    while i * i <= n:
        if n % i == 0:
            p -= p // i
        while n % i == 0:
            n = n // i
        if i != 2:
            i += 2
        else:
            i += 1
    if n > 1:
        p -= p // n
    return p

def solve(a, b, c, d, n):
    if b == 0 or (c == 0 and d != 0):
        return pow(a, 0, n)
    if c == 1 or d == 0:
        return pow(a, b, n)
    if a == 0 or a % n == 0:
        return 0
    if d == 1:
        return pow(a, b * c, n)
    p = helper(n)
    e = pow(c, d, p) + p
    return pow(pow(a, b, n), e, n)

print(solve(2, 3, 2, 4, 10))

इनपुट

2, 3, 2, 4, 10

आउटपुट

6
  1. पायथन में दिए गए बाइनरी ट्री में BST का सबसे बड़ा योग मान ढूंढने का प्रोग्राम पायथन में दिए गए बाइनरी ट्री में BST का सबसे बड़ा योग मान ढूंढने का प्रोग्राम

    मान लीजिए हमें एक बाइनरी ट्री प्रदान की गई है। हमें यह ढूंढना है कि क्या उसके सबट्रीज में बाइनरी सर्च ट्री (BST) मौजूद हैं और सबसे बड़े BST का योग ढूंढना है। योग ढूंढने के लिए, हम उस BST में प्रत्येक नोड के मान जोड़ते हैं। हम आउटपुट के रूप में योग मान लौटाते हैं। इसलिए, यदि इनपुट है: तो आउटपुट 12

  1. पायथन में जांचें कि ग्राफ सभी द्वारा पारगम्य है या नहीं पायथन में जांचें कि ग्राफ सभी द्वारा पारगम्य है या नहीं

    मान लीजिए, हमें एक ग्राफ दिया गया है जिसमें n शीर्ष हैं जो 0 से n-1 तक क्रमांकित हैं। ग्राफ अनिर्देशित है और प्रत्येक किनारे का एक भार है। ग्राफ में तीन प्रकार के भार हो सकते हैं और प्रत्येक भार एक विशेष कार्य को दर्शाता है। दो लोग हैं जो ग्राफ को पार कर सकते हैं, अर्थात् जैक और केसी। जैक ग्राफ को

  1. - पायथन में दिए गए समीकरण a + b = c से लापता मान खोजें

    मान लीजिए हमारे पास इस रूप में एक समीकरण है: a + b = c, अब a, b या c में से कोई एक पद लापता है। हमें लापता पद ढूंढना है। इसलिए, यदि इनपुट ? + 4 = 9 है, तो आउटपुट 5 होगा। समाधान दृष्टिकोण इसे हल करने के लिए हम निम्न चरणों का पालन करेंगे: स्ट्रिंग से सभी रिक्त स्थान हटाएं और + और = को कॉमा , में बदल