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

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

मान लीजिए हमें पाँच पूर्णांक संख्याएँ a, b, c, d, n दी गई हैं। हमें ((ab)(cd)) 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

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

  • एक फंक्शन हेल्पर () को परिभाषित करें। इसमें n
      . लगेगा
    • p :=n
    • मैं :=2
    • जबकि मैं * मैं <=n, करते हैं
      • यदि n mod i 0 के समान है, तो
        • p :=p - (p / i) का न्यूनतम मान
      • जबकि n mod i 0 के समान है, करते हैं
        • n :=(n / i) का न्यूनतम मान
      • यदि मैं 2 के समान नहीं है, तो
        • i :=i + 2
      • अन्यथा,
        • i :=i + 1
    • अगर n> 1, तो
      • p :=p - (p / n) का न्यूनतम मान
    • वापसी पी
  • यदि b, 0 के समान है या (c, 0 के समान है और d, 0) के समान नहीं है, तो
    • रिटर्न (ए ^ 0) मॉड एन
  • यदि c 1 के समान है या d 0 के समान है, तो
    • रिटर्न (ए ^ बी) मॉड एन
  • यदि एक 0 के समान है या एक मॉड n 0 के समान है, तो
    • वापसी 0
  • यदि d 1 के समान है, तो
    • रिटर्न (ए ^ बी * सी) मॉड एन
  • p :=सहायक(n)
  • ई:=(सी ^ डी) मॉड पी + पी
  • रिटर्न (((ए ^ बी) मॉड एन) ^ ई) मॉड एन

उदाहरण

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

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 में प्रत्येक नोड के मान जोड़ते हैं। हम योग मान को आउटपुट के रूप में लौटाते हैं। तो, अगर इनपुट

  1. यह पता लगाने के लिए कार्यक्रम कि क्या पायथन में सभी के द्वारा ग्राफ़ को ट्रैवर्स किया जा सकता है

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

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

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