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

C++ में श्रृंखला 2 + (2+4) + (2+4+6) + ... + (2+4+6+...+2n) का योग

इस समस्या में, हमें एक संख्या n दी गई है जो श्रृंखला 2 + (2+4) + (2+4+6) + (2+4+6+8) + ... + (2+4+6+8+...+2n) के nवें पद को परिभाषित करती है। हमारा कार्य श्रृंखला का योग निकालने के लिए एक प्रोग्राम बनाना है।

उदाहरण से समझते हैं

इनपुट

n = 3

आउटपुट

व्याख्या - योग = (2) + (2+4) + (2+4+6) = 2 + 6 + 12 = 20

समस्या का एक सरल समाधान नेस्टेड लूप का उपयोग करना है। आंतरिक लूप श्रृंखला के i-वें तत्व को ढूंढता है और फिर सभी तत्वों को योग वेरिएबल में जोड़ता है।

C++ प्रोग्राम उदाहरण (सरल दृष्टिकोण)

#include <iostream>
using namespace std;

int calcSeriesSum(int n) {
    int sum = 0;
    for (int i = 1; i <= n; i++) {
        int even = 2;
        for (int j = 1; j <= i; j++) {
            sum += even;
            even += 2;
        }
    }
    return sum;
}

int main() {
    int n = 5;
    cout << "Sum of the series 2 + (2+4) + (2+4+6) + ... + (2+4+6+...+" << (2*n) << ") is " << calcSeriesSum(n);
    return 0;
}

आउटपुट

Sum of the series 2 + (2+4) + (2+4+6) + ... + (2+4+6+...+10) is 70

यह समस्या को हल करने का सबसे प्रभावी तरीका नहीं है क्योंकि समस्या की समय जटिलता O(n²) क्रम की है।

कुशल समाधान: गणितीय सूत्र

समस्या का एक प्रभावी समाधान श्रृंखला के योग के लिए गणितीय सूत्र का उपयोग करके हो सकता है।

श्रृंखला है: 2 + (2+4) + (2+4+6) + (2+4+6+8) + ... + (2+4+6+8+...+2n)

श्रृंखला का nवां पद है:

aₙ = (2 + 4 + 6 + 8 + … + 2n) = n² + n

aₙ, n तक की सम संख्याओं का योग है।

श्रृंखला का योग है:

योग = 2 + (2+4) + (2+4+6) + (2+4+6+8) + ... + (2+4+6+8+...+2n)
योग = Σ (n² + n)
योग = Σ n² + Σ n
योग = [n(n+1)(2n+1)/6] + [n(n+1)/2]
योग = ½ n(n+1) [(2n+1)/3 + 1]
योग = ½ n(n+1) [(2n+4)/3]
योग = ⅓ n(n+1)(n+2)

C++ प्रोग्राम उदाहरण (कुशल दृष्टिकोण)

#include <iostream>
using namespace std;

int calcSeriesSum(int n) {
    return ((n) * (n+1) * (n+2) / 3);
}

int main() {
    int n = 5;
    cout << "Sum of the series 2 + (2+4) + (2+4+6) + ... + (2+4+6+...+" << (2*n) << ") is " << calcSeriesSum(n);
    return 0;
}

आउटपुट

Sum of the series 2 + (2+4) + (2+4+6) + ... + (2+4+6+...+10) is 70
  1. - C++ प्रोग्राम श्रृंखला 1 + 1/2² + 1/3³ + ... + 1/nⁿ का योग ज्ञात करने के लिए

    इस ट्यूटोरियल में, हम दी गई श्रृंखला 1 + 1/2² + 1/3³ + ... + 1/nⁿ का योग ज्ञात करने के लिए एक प्रोग्राम पर चर्चा करेंगे। इसके लिए, हमें n का मान दिया जाएगा और हमारा कार्य पहले पद से शुरू करके हर पद को जोड़कर दी गई श्रृंखला का योग ज्ञात करना है। उदाहरण #include <iostream> #include <math.h&g

  1. - C++ प्रोग्राम श्रृंखला 2³ + 4⁵ + 7⁵ + ... N पदों तक का योग ज्ञात करने के लिए

    इस ट्यूटोरियल में, हम दी गई श्रृंखला 2³ + 4⁵ + 7⁵ + ... N पदों तक का योग ज्ञात करने के लिए एक प्रोग्राम पर चर्चा करेंगे। इसके लिए, हमें N का मान दिया जाएगा और हमारा कार्य पहले पद से शुरू करके हर पद को जोड़कर दी गई श्रृंखला का योग ज्ञात करना है। इसे हल करने के बाद, हमें श्रृंखला के योग का फॉर्मूला मि

  1. - C++ में अंकगणितीय श्रृंखला का योग

    a(पहला पद), d(सामान्य अंतर) और n (श्रृंखला में मानों की संख्या) दिए गए हैं और कार्य श्रृंखला उत्पन्न करना और उनके योग की गणना करना है। अंकगणितीय श्रृंखला क्या है अंकगणितीय श्रृंखला संख्याओं का क्रम है जिसमें सामान्य अंतर होता है जहां श्रृंखला का पहला पद a होता है और उनके बीच सामान्य अंतर d होता है।