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

C++ में श्रृंखला 1*2*3 + 2*3*4+ 3*4*5 + ... + n*(n+1)*(n+2) का योग ज्ञात करने का प्रोग्राम


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

समस्या विवरण - यहां, हम दिए गए श्रृंखला का n पद तक योग ज्ञात करेंगे जो 1*2*3 + 2*3*4+ 3*4*5 + ... + n*(n+1)*(n+2) है। इसे n*(n+1)*(n+2) के योग के रूप में समझा जा सकता है।

आइए एक उदाहरण लेकर समस्या को समझते हैं

इनपुट

n = 5

आउटपुट

420

व्याख्या

1*2*3 + 2*3*4 + 3*4*5 + 4*5*6 + 5*6*7 = 6 + 24 + 60 + 120 + 210 = 420

समाधान दृष्टिकोण

समस्या को हल करने का एक सरल तरीका 1 से n तक लूप का उपयोग करना है और प्रत्येक पुनरावृत्ति में उत्पाद ढूंढकर उसे sumVar में जोड़ना है। लूप समाप्त होने के बाद, sumVar लौटाएं।

एल्गोरिदम

  • चरण 1 - i = 1 से n तक लूप।
    • चरण 1.1 - sumVar अपडेट करें, sumVar += i*(i+1)*(i+2)
  • चरण 2 - sumVar प्रिंट करें।

हमारे समाधान के कार्य को दर्शाने वाला प्रोग्राम

उदाहरण

#include <iostream> using namespace std; int calcSeriesSum(int n){    int sumVar = 0;    for(int i = 1; i <= n; i++)       sumVar = sumVar + ( (i)*(i+1)*(i+2) );    return sumVar; } int main(){    int n = 7;    cout<<"The sum of series till "<<n<<" is "<<calcSeriesSum(n);    return 0; }

आउटपुट

The sum of series till 7 is 1260

यह दृष्टिकोण कुशल नहीं है क्योंकि यह N क्रम की समय जटिलता लेता है।

दूसरा दृष्टिकोण श्रृंखला के योग के लिए गणितीय सूत्र का उपयोग करना है। जैसा कि हमने समस्या विवरण में चर्चा की, श्रृंखला को (n)*(n+1)*(n+2) के योग के रूप में कहा जा सकता है।

इस जानकारी का उपयोग करके आइए योग के लिए एक सामान्य सूत्र बनाएं।

$Sum =\sum_{i=1}^n i(i+1)(i+2)$

$=\sum\{(n^2+n)(n+2)\}$

$=\sum\{n^3 + n^2 + 2n^2 + 2n\}$

$=\sum\{n^3 +3n^2 + 2n\}$

$=\sum_{i=1}^n i^3+3\sum_{i=1}^n i^2+2\sum_{i=1}^n i$

अब, योगों के सामान्य सूत्र का उपयोग करके,

$\sum_{i=1}^n i^3=\frac{(n(n+1))^2}{4}$

$\sum_{i=1}^n i^2=\frac{n(n+1)(2n+1)}{6}$

$\sum_{i=1}^n i=\frac{n(n+1)}{2}$

इन सभी को योग सूत्र में जोड़ने पर,

$Sum=\frac{(n(n+1))^2}{4}+\frac{3n(n+1)(2n+1)}{6}+\frac{2n(n+1)}{2}$

$=\frac{n(n+1)}{2}[\frac{n(n+1)}{2} + \frac{3(2n+1)}{3} + 2]$

$=\frac{n(n+1)}{4}[n^2+ n + 4n + 2 + 4]$

$=\frac{n(n+1)}{4}[n^2+ 5n + 6]$

$=\frac{n(n+1)}{4}[(n+2)(n+3)]$

=$ \frac{1}{4}[ n(n+1)(n+2)(n+3) ]$

nवें पद तक श्रृंखला का योग सूत्र का उपयोग करके गणना की जाती है,

$\frac{1}{4}[ n(n+1)(n+2)(n+3) ]$

हमारे समाधान के कार्य को दर्शाने वाला प्रोग्राम

उदाहरण

#include <iostream> using namespace std; int calcSeriesSum(int n){    int sumVar = 0;    sumVar = ( (n)*(n + 1)*(n + 2)*(n + 3)/4 );    return sumVar; } int main(){    int n = 7;    cout<<"The sum of series till "<<n<<" is "<<calcSeriesSum(n);    return 0; }

आउटपुट

The sum of series till 7 is 1260

  1. - C++ में श्रृंखला a, b, b, c, c, c... का N-वां पद ढूंढना

    इस समस्या में, हमें एक संख्या N दी गई है। हमारा कार्य C++ में श्रृंखला a, b, b, c, c, c... का N-वां पद ढूंढने के लिए एक प्रोग्राम बनाना है। समस्या विवरण श्रृंखला के Nवें पद को ढूंढना: a, b, b, c, c, c, d, d, d, d, .... N पद हमें श्रृंखला के सामान्य पद को ढूंढने की आवश्यकता है। उदाहरण इनपुट N = 7

  1. - C++ में श्रृंखला 1, 2, 11, 12, 21... का N-वां पद ढूंढना

    इस समस्या में, हमें एक संख्या N दी गई है। हमारा कार्य C++ में श्रृंखला 1, 2, 11, 12, 21... का N-वां पद ढूंढने के लिए एक प्रोग्राम बनाना है। समस्या विवरण श्रृंखला के Nवें पद को ढूंढना: 1, 2, 11, 12, 21, 22, 111, 112, .... N पद हम श्रृंखला के सामान्य पद को ढूंढेंगे। उदाहरण इनपुट N = 8 आउटपुट 112 ह

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

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