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

पायथन में एक सरणी में समान रूप से दूरी वाले तत्वों के योग का पता लगाने का कार्यक्रम

मान लीजिए, आकार n की एक सरणी 'अंक' है जिसमें धनात्मक पूर्णांक हैं। हमारे पास एक और सरणी 'क्वेरी' है जिसमें पूर्णांक जोड़े (पीआई, क्यूई) होते हैं। सरणी प्रश्नों में प्रत्येक प्रश्न के लिए, उत्तर सरणी संख्या [j] में संख्याओं का योग होगा जहां pi <=j

इसलिए, यदि इनपुट अंकों की तरह है =[2, 3, 4, 5, 6, 7, 8, 9, 10], प्रश्न =[(2, 5), (7, 3), (6, 4)] , तो आउटपुट [13, 9, 8] होगा।

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

  • ए:=अंक

  • प्रश्न:=प्रश्न

  • n :=अंकों की लंबाई

  • एम:=10^9 + 7

  • m :=पूर्णांक मान (n ^ 0.5) + 2

  • P :=एक नई सूची जिसमें सूची A m बार होती है

  • मैं के लिए 1 से मी की सीमा में, करो

    • j के लिए n-1 से -1 की श्रेणी में, 1 से घटाएं, करें

      • अगर i+j

        • P[i, j] :=(P[i, j]+P[i, i+j]) मोडुलो M

  • प्रत्येक मान के लिए b, k in Q, do

    • अगर के <एम, तो

      • वापसी [सूचकांक पी से मूल्य [के, बी]]

    • अन्यथा

      • वापसी [योग (ए [बी से के]) मोडुलो एम]

उदाहरण

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

def solve(A, Q):
   n, M = len(A), 10**9+7
   m = int(n**0.5)+2
   P = [A[:] for _ in range(m)]
   for i in range(1,m):
      for j in range(n-1,-1,-1):
         if i+j < n:
            P[i][j] = (P[i][j]+P[i][i+j]) % M
   return [P[k][b] if k < m else sum(A[b::k]) % M for b, k in Q]

print(solve([2, 3, 4, 5, 6, 7, 8, 9, 10], [(2, 5), (7, 3), (6, 4)]))

इनपुट

[2, 3, 4, 5, 6, 7, 8, 9, 10], [(2, 5), (7, 3), (6, 4)]

आउटपुट

[13, 9, 8]

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

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

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

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

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

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