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

Python में N को {A, B} सेट से चुने गए पूर्णांकों के योग के रूप में दर्शाने की जांच कैसे करें?

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

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

हल करने के चरण

  • एक फ़ंक्शन util() परिभाषित करें। यह x, a, b, is_ok, target लेगा
  • यदि x > target, तो:
    • वापस लौटें
  • यदि is_ok[x] True है, तो:
    • वापस लौटें
  • is_ok[x] := True
  • util(x + a, a, b, is_ok, target)
  • util(x + b, a, b, is_ok, target)
  • मुख्य विधि से निम्नलिखित करें:
    • is_ok := आकार (target + 1) की एक सरणी और False से भरें
    • util(0, a, b, is_ok, target)
    • 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. - Python में सरणी से उन ट्रिपलेट्स की संख्या जांचें जिनका योग लक्ष्य से कम है

    मान लीजिए हमारे पास nums नामक संख्याओं की एक सूची और एक मान target है, हमें उन ट्रिपल (i < j < k) की संख्या ढूंढनी है जो मौजूद हैं जैसे कि nums[i] + nums[j] + nums[k] < target। तो, यदि इनपुट nums = [-2, 6, 4, 3, 8], target = 12 जैसा है, तो आउटपुट 5 होगा, क्योंकि ट्रिपलेट्स हैं: [-2,6,4], [-2,6,3],

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

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

  1. - पायथन में टू सम

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