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

जांचें कि क्या एन को पायथन में सेट {ए, बी} से चुने गए पूर्णांकों के योग के रूप में दर्शाया जा सकता है

मान लीजिए कि हमारे पास एक संख्या लक्ष्य है। हमारे पास एक और दो नंबर ए और बी हैं। हमें यह जांचना है कि क्या हम जितनी बार चाहें उतनी बार ए और बी जोड़कर लक्ष्य प्राप्त कर सकते हैं।

इसलिए, यदि इनपुट लक्ष्य =26 ए =5 बी =7 जैसा है, तो आउटपुट सत्य होगा क्योंकि हम ए और बी को (7 + 7 + 7 + 5) जोड़कर 26 प्राप्त कर सकते हैं।

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

  • उपयोग() फ़ंक्शन को परिभाषित करें। इसमें x, a, b, is_ok, target
  • लगेगा
  • यदि x> लक्ष्य है, तो
    • वापसी
  • अगर is_ok[x] सच है, तो
    • वापसी
  • is_ok[x] :=सच
  • उपयोग(x + a, a, b, is_ok, target)
  • उपयोग(x + b, a, b, is_ok, target)
  • मुख्य विधि से निम्न कार्य करें -
  • is_ok :=आकार की एक सरणी (लक्ष्य + 1) और गलत से भरें
  • उपयोग (0, ए, बी, is_ok, लक्ष्य)
  • वापसी is_ok[target]

उदाहरण

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

def util(x, a, b, is_ok, target):
   if x > target:
      return
   if is_ok[x]:
      return
   is_ok[x] = True
   util(x + a, a, b, is_ok, target)
   util(x + b, a, b, is_ok, target)
def solve(target, a, b):
   is_ok = [False] * (target + 1)
   util(0, a, b, is_ok, target)
   return is_ok[target]
target = 26
A = 5
B = 7
print(solve(target, A, B))

इनपुट

26, 5, 7

आउटपुट

True

  1. एक सरणी से ट्रिपल की संख्या की जांच करने का कार्यक्रम जिसका योग लक्ष्य से कम है या पायथन नहीं है

    मान लीजिए कि हमारे पास संख्याओं की एक सूची है जिसे अंक कहा जाता है और एक अन्य मूल्य लक्ष्य है, हमें ट्रिपल (i

  1. पायथन में दो पूर्णांकों का योग

    मान लीजिए कि हमारे पास दो पूर्णांक a और b हैं। हमारा कार्य इन दो पूर्णांकों का योग ज्ञात करना है। एक बाधा यह है कि, हम + या - जैसे किसी भी ऑपरेटर का उपयोग नहीं कर सकते हैं। तो अगर a =5 और b =7, तो परिणाम 12 होगा। इसे हल करने के लिए, हम इन चरणों का पालन करेंगे - समाधान के लिए हम बिटवाइज़ लॉजिकल ऑपर

  1. पायथन में दो योग

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