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

Python में N प्राकृतिक संख्याओं से उन जोड़ों की संख्या खोजने का प्रोग्राम जिनका योग k से विभाज्य हो


मान लीजिए हमारे पास एक संख्या n और दूसरा मान k है, मान लें हमारे पास पहले N प्राकृतिक संख्याओं के साथ एक ऐरे A है, हमें A से एलिमेंट्स A[i] और A[j] के जोड़ों की कुल संख्या ढूंढनी है, जैसे कि, i < j और उनका योग k से विभाज्य हो।

तो, यदि इनपुट n = 10, k = 4 है, तो आउटपुट 10 होगा क्योंकि 10 जोड़े हैं जिनका योग 4 से विभाज्य है। [(1,3), (1,7), (2,6), (2,10), (3,5), (3,9), (4,8), (5,7), (6,10), (7,9)]

इसे हल करने के लिए, हम निम्नलिखित चरणों का पालन करेंगे:

  • m := floor of (n / k), r := n mod k
  • b := एक नया मैप
  • i के लिए range 0 से k - 1 तक, करें
    • b[i] := m
  • i के लिए range m*k+1 से n तक, करें
    • j := i mod k
    • b[j] := b[j] + 1
  • c := 0
  • i के लिए range 0 से k तक, करें
    • i1 := i
    • i2 :=(k - i) mod k
    • यदि i1, i2 के समान है, तो
      • c := c + b[i] *(b[i]-1)
    • अन्यथा,
      • c := c + b[i1] *(b[i2])
  • floor of c/2 वापस करें

उदाहरण

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

def solve(n, k):     m = n // k     r = n % k     b = {} for i in range(k) : b[i] = m for i in range(m*k+1, n+1) : j = i % k b[j] = b[j] + 1 c = 0 for i in range(k) : i1 = i i2 = (k - i) % k if i1 == i2 : c = c + b[i] * (b[i]-1) else : c = c + b[i1] * (b[i2]) return c//2 n = 10 k = 4 print(solve(n, k))

इनपुट

4, 27 

आउटपुट

10

  1. पायथन में सब-ट्री के नोड मानों के योग से न्यूनतम मान खोजने का प्रोग्राम पायथन में सब-ट्री के नोड मानों के योग से न्यूनतम मान खोजने का प्रोग्राम

    मान लीजिए, हमारे पास एक ट्री है जिसके सभी नोड्स 1 से n तक संख्याबद्ध हैं। प्रत्येक नोड में एक पूर्णांक मान होता है। अब यदि हम ट्री से एक किनारा हटाते हैं, तो दोनों सब-ट्री के नोड मानों के योग में अंतर न्यूनतम होना चाहिए। हमें ऐसे सब-ट्री के बीच न्यूनतम अंतर पता लगाना और लौटाना है। ट्री को हमें किनार

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

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

  1. - पायथन में रिकर्सन का उपयोग करके प्राकृतिक संख्याओं का योग कैसे खोजें?

    यदि कोई फ़ंक्शन स्वयं को कॉल करता है, तो उसे रिकर्सिव फ़ंक्शन कहा जाता है। इसे अनंत लूप में पड़ने से रोकने के लिए, रिकर्सिव कॉल को कंडीशनल स्टेटमेंट में रखा जाता है। निम्न प्रोग्राम यूज़र से इनपुट के रूप में संख्या स्वीकार करता है और इसे rsum() फ़ंक्शन को आर्गुमेंट के रूप में भेजता है। यह प्रत्येक