इस समस्या में, हमें एक संख्या n दी गई है जो श्रृंखला के nवें पद को परिभाषित करती है। हमारा कार्य 1*2*3 + 2*3*4+3*4*5 + श्रृंखला का योग ज्ञात करने के लिए एक कार्यक्रम बनाना है। . . + n*(n+1)*(n+2) सी++ में ।
समस्या का विवरण - यहां, हम दी गई श्रृंखला के n पद तक का योग 1*2*3 + 2*3*4+ 3*4*5 + के साथ ज्ञात करेंगे। . . + एन*(एन+1)*(एन+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 लौटाएं।
एल्गोरिदम
- चरण 1 - लूप i =1 से n.
- चरण 1.1 - समवर, समवार +=i*(i+1)*(i+2) . को अपडेट करें
- चरण 2 - समवार प्रिंट करें।
हमारे समाधान की कार्यप्रणाली को दर्शाने वाला कार्यक्रम
उदाहरण
#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+1)*(n+2) का योग कहा जा सकता है।
इस जानकारी का उपयोग करके योग के लिए एक सामान्य सूत्र बनाते हैं।
$Sum =\sum_{\square=1}^\square\blacksquare((\square)\ast(\square+1)\ast(\square+2))$
$=\sum\lbrace{(n^2+n)(n+2)}\rbrace$
$=\sum\lbrace{n^3 + n^2 + 2n^2 + 2n}\rbrace$
$=\sum\lbrace{n^3 +3n^2 + 2n}\rbrace$
$=\sum_{\square=1}^\square\blacksquare\square^3+3\sum_{\square=1}^\square\blacksquare\square^2+2\sum_{\square=1}^\ वर्ग\ब्लैकस्क्वेयर\वर्ग^\ब्लैकस्क्वेयर$
अब, योग के सामान्य सूत्र का उपयोग करते हुए,
$\sum_{\square=1}^\square\blacksquare\square^3=\frac{(\square\ast(\square+1))^2}{2}$
$\sum_{\square=1}^\square\blacksquare\square^2=\frac{(\square\ast(\square+1)\ast(2\square+1))^\blacksquare}{6} $
$\sum_{\square=1}^\square\blacksquare\square^\blacksquare=\frac{(\square\ast(\square+1)^\blacksquare}{2}$
इन सभी को योग सूत्र में जोड़ने से,
$Sum=\frac{(\square\ast(\square+1))^2}{2^2}+\frac{3(\square\ast(\square+1)\ast(2\square+1) ))^\blacksquare}{6}+\frac{2(\square\ast(\square+1))^\blacksquare}{2}$
$=\frac{(\square\ast(\square+1))^\blacksquare}{2}[((n * (n+1))/2 ) + (3(2n+1)/3) + 2]$
$=\frac{(\square\ast(\square+1))^\blacksquare}{4}[n^2+ n + 4n + 2 + 4]$
$=\frac{(\square\ast(\square+1))^\blacksquare}{4}[n^2+ 5n + 6]$
$=\frac{(\square\ast(\square+1))^\blacksquare}{4}[(n+2)(n+3)]$
=¼[ (एन)*(एन+1)*(एन+2)*(एन+3) ]
nवें पद तक की श्रृंखला की गणना सूत्र का उपयोग करके की जाती है,
¼[ (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