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

Python में अधिकतम N ढूंढना जैसे कि पहले N प्राकृतिक संख्याओं के वर्ग का योग X से अधिक न हो


मान लीजिए हमारे पास एक दिया गया पूर्णांक X है, हमें अधिकतम मान N ढूंढना है ताकि पहले N प्राकृतिक संख्याओं का योग मान X से अधिक न हो।

तो, यदि इनपुट X = 7 की तरह है, तो आउटपुट 2 होगा क्योंकि 2, N का अधिकतम संभव मान है, N = 3 के लिए, श्रृंखला का योग X = 7 से अधिक हो जाएगा। तो, 1^2 + 2^2 + 3^2 = 1 + 4 + 9 = 14।

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

  • एक फ़ंक्शन sum_of_squares() परिभाषित करें। यह N लेगा

  • res := (N * (N + 1) * (2 * N + 1)) / 6

  • res वापस करें

  • मुख्य विधि से, निम्नलिखित करें -

  • low := 1

  • high := 100000

  • N := 0

  • जब low <= high, करें

    • mid := (high + low) / 2

    • यदि sum_of_squares(mid) <= X, तो

      • N := mid

      • low := mid + 1

    • अन्यथा,

      • high := mid - 1

  • N वापस करें

उदाहरण

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

def sum_of_squares(N):     res = (N * (N + 1) * (2 * N + 1)) // 6     return res def get_max(X):     low, high = 1, 100000     N = 0     while low <= high:         mid = (high + low) // 2         if sum_of_squares(mid) <= X:             N = mid             low = mid + 1         else:             high = mid - 1     return N X = 7 print(get_max(X))

इनपुट

7

आउटपुट

2

  1. - पायथन प्रोग्राम: पहले n नेचुरल नंबर्स के क्यूब्स का योग

    इस लेख में, हम दिए गए प्रॉब्लम स्टेटमेंट को हल करने के समाधान और दृष्टिकोण के बारे में सीखेंगे। प्रॉब्लम स्टेटमेंट – एक इनपुट n दिए जाने पर, हमें n-th टर्म तक सीरीज़ 1³ + 2³ + 3³ + 4³ + ... + n³ का योग प्रिंट करने की आवश्यकता है। यहां हम प्रॉब्लम स्टेटमेंट के समाधान तक पहुंचने के लिए दो दृष्टिकोणों

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

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

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

    Python में प्राकृतिक संख्याओं का योग आप एक वेरिएबल i के मान को एक से क्रमिक रूप से बढ़ाने और संचयी रूप से जोड़ने के लिए while लूप का उपयोग कर सकते हैं। s, i = 0, 0 n = 10 while i < n: i = i + 1 s = s + i print(पहली 10 प्राकृतिक संख्याओं का योग, s) फॉर लूप का उपयोग प्राकृतिक संख्याओं की रें