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

पायथन में सबसे बड़े के-विभाज्य बाद के योग का पता लगाने का कार्यक्रम


मान लीजिए कि हमें गैर-ऋणात्मक संख्याओं की एक सूची दी गई है, और एक धनात्मक मान k दिया गया है। हमें संख्याओं के बाद के अधिकतम योग का पता लगाना है ताकि योग k से विभाज्य हो।

इसलिए, यदि इनपुट, अंक =[4, 6, 8, 2], k =2 जैसा है, तो आउटपुट 20 होगा।

पूरे सरणी का योग 20 है, जो 2 से विभाज्य है।

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

  • numsSum :=इनपुट सूची अंकों में मानों का योग

  • शेष :=numsSum mod k

  • यदि शेषफल 0 के समान है, तो

    • वापसी संख्या योग

  • सूची संख्या क्रमित करें

  • अंक में प्रत्येक संख्या संयोजन tpl के लिए। करो

    • subSeqSum :=sum(tpl)

    • अगर subSeqSum mod k शेषफल के समान है, तो

      • रिटर्न numsSum - subSeqSum

  • वापसी 0

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

उदाहरण

from itertools import chain, combinations
class Solution:
   def solve(self, nums, k):
      numsSum = sum(nums)
      remainder = numsSum % k
      if remainder == 0:
         return numsSum
      nums.sort()
      for tpl in chain.from_iterable(combinations(nums, r) for r in range(1, len(nums) + 1)):
         subSeqSum = sum(tpl)
         if subSeqSum % k == remainder:
            return numsSum − subSeqSum
      return 0
ob1 = Solution()
print(ob1.solve([4, 6, 8, 2], 2))

इनपुट

[4, 6, 8, 2], 2

आउटपुट

20

  1. पायथन प्रोग्राम में सरणी का योग ज्ञात करें

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

  1. एक सरणी में सबसे बड़ा तत्व खोजने के लिए पायथन प्रोग्राम

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

  1. सरणी का योग खोजने के लिए पायथन कार्यक्रम

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