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

पायथन में विषम और यहां तक ​​कि अनुक्रमित तत्वों को बराबर करने के लिए तत्वों की संख्या को खोजने के लिए कार्यक्रम को हटाया जा सकता है

मान लीजिए हमारे पास संख्याओं की एक सूची है जिसे अंक कहा जाता है। अब एक फ़ंक्शन पर विचार करें f(i) जो इंडेक्स i पर तत्व को हटा देता है और फिर सही या गलत लौटाता है, परिणामी सूची के सम इंडेक्स मानों का योग विषम इंडेक्स मानों के योग के समान होता है या नहीं। इसलिए हमें उन अनुक्रमणिकाओं की संख्या चाहिए जिनके लिए f सत्य लौटाएगा।

इसलिए, यदि इनपुट संख्या =[6, 8, 5, 2, 3] की तरह है, तो आउटपुट 2 होगा, क्योंकि अगर हम 8 को हटाते हैं, तो सरणी [6, 5, 2, 3], विषम होगी और यहां तक ​​कि सूचकांक तत्वों का योग भी 8 है, इसलिए वे समान हैं। एक अन्य संभावित समाधान है, यदि हम 2 को हटाते हैं, तो सरणी [6, 8, 5, 3] होगी, यहां विषम और सम अनुक्रमित तत्वों का योग 11 है, इसलिए वे समान हैं।

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

  • n :=अंकों का आकार
  • a :=क्रम 2 x (n+1) की एक 2d सूची और प्रत्येक को 0s से भरें
  • प्रत्येक अनुक्रमणिका i और मान x अंक के लिए, करें
    • a[0, i + 1] :=a[0, i]
    • a[1, i + 1] :=a[1, i]
    • a[i mod 2, i + 1] :=a[i mod 2, i + 1] + x
  • सी :=0
  • s :=अंकों में मौजूद सभी तत्वों का योग
  • मैं के लिए 0 से n -1 की सीमा में, करो
    • e :=a[0, i] - a[0, 0] + a[1, n] - a[1, i + 1]
    • यदि e * 2 s - nums[i] के समान है, तो
      • सी :=सी + 1
  • वापसी सी

उदाहरण

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

def solve(nums):
   n = len(nums)
   a = [[0] * (n + 1), [0] * (n + 1)]
   for i, x in enumerate(nums):
      a[0][i + 1] = a[0][i]
      a[1][i + 1] = a[1][i]
      a[i % 2][i + 1] += x

   c = 0
   s = sum(nums)
   for i in range(n):
      e = a[0][i] - a[0][0] + a[1][n] - a[1][i + 1]
      if e * 2 == s - nums[i]:
         c += 1
   return c

nums = [6, 8, 5, 2, 3]
print(solve(nums))

इनपुट

[6, 8, 5, 2, 3]

आउटपुट

2

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

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

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

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे - समस्या कथन किसी संख्या इनपुट n को देखते हुए, कार्य किसी संख्या के विषम गुणनखंडों का योग ज्ञात करना है। यहां हमें सबसे पहले सभी सम कारकों को खत्म करने की जरूरत है। सभी सम गुणनखंडों को हटाने के लिए, हम बार-बार n को 2 से विभाज्य ह

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

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