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

यह जांचने के लिए प्रोग्राम कि क्या सरणी जोड़े k से विभाज्य हैं या पायथन का उपयोग नहीं कर रहे हैं

मान लीजिए कि हमारे पास nums नामक एक सरणी है, इस सरणी में तत्वों की संख्या भी है, और एक और मान k है। हमें अंकों को ठीक n/2 युग्मों में इस प्रकार विभाजित करना है कि प्रत्येक युग्म का योग k से विभाज्य हो। अगर हम ऐसा कर सकते हैं तो सही लौटें, अन्यथा गलत।

इसलिए, यदि इनपुट अंकों की तरह है =[9,5,3,4,7,10,20,8] k =3, तो आउटपुट सही होगा क्योंकि हम (9,3), (5) जैसे जोड़े बना सकते हैं ,7), (4,20), (8,10), सभी जोड़ियों का योग 3 से विभाज्य है।

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

  • डीपी:=एक नई सूची

  • गिनती:=0

  • अंकों में प्रत्येक x के लिए, करें

    • टी:=के - (एक्स मॉड के)

    • यदि t, k के समान है, तो

      • गिनती :=गिनती + 1

    • अन्यथा,

      • dp के अंत में t डालें

  • यदि काउंट मोड 2, 0 के समान नहीं है, तो

    • झूठी वापसी

  • सूची डीपी सॉर्ट करें

  • कम :=0

  • उच्च:=डीपी का आकार - 1

  • जबकि कम <उच्च, करें

    • अगर dp[low] + dp[high] k के समान नहीं है, तो

      • झूठी वापसी

    • कम :=कम + 1

    • उच्च :=उच्च - 1

  • सही लौटें

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

उदाहरण

def solve(nums, k):
   dp=[]
   count=0
   for x in nums:
      t=k-(x % k)
      if t == k:
         count+=1
      else:
         dp.append(t)
   if count % 2 != 0:
      return False
   dp.sort()
   low = 0
   high = len(dp)-1
   while low < high:
      if dp[low] + dp[high] != k:
         return False
      low += 1
      high -= 1
   return True
nums = [9,5,3,4,7,10,20,8]
k = 3
print(solve(nums, k))

इनपुट

[9,5,3,4,7,10,20,8], 3

आउटपुट

True

  1. बिंदुओं की जाँच करने के लिए प्रोग्राम अवतल बहुभुज बना रहे हैं या नहीं पायथन में

    मान लीजिए कि हमारे पास बहुभुज के बाहरी बिंदु दक्षिणावर्त क्रम में हैं। हमें यह जांचना है कि ये बिंदु उत्तल बहुभुज बना रहे हैं या नहीं। एक बहुभुज को अवतल कहा जाता है यदि उसका कोई एक आंतरिक कोण 180° से अधिक हो। इस आरेख से यह स्पष्ट है कि सीडीई को छोड़कर प्रत्येक तीन क्रमागत बिंदुओं के लिए आंतरिक को

  1. बिंदुओं की जाँच करने का कार्यक्रम पायथन में उत्तल पतवार बना रहा है या नहीं

    मान लीजिए कि हमारे पास बहुभुज के बाहरी बिंदु दक्षिणावर्त क्रम में हैं। हमें यह जांचना होगा कि ये बिंदु उत्तल पतवार बना रहे हैं या नहीं। इस आरेख से यह स्पष्ट है कि प्रत्येक तीन क्रमागत बिंदुओं के लिए आंतरिक कोण 180° से अधिक नहीं होता है। इसलिए यदि सभी कोण 180° से अधिक नहीं हैं तो बहुभुज उत्तल पतवा

  1. पायथन प्रोग्राम यह जांचने के लिए कि क्या किसी सरणी में सभी अंकों का उपयोग करके 3 संख्या से विभाज्य बनाना संभव है

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