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

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

इस समस्या में, हमें एक संख्या 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

  1. सी++ में श्रृंखला ए, बी, बी, सी, सी, सी… के एन-वें पद को खोजने का कार्यक्रम

    इस समस्या में, हमें एक संख्या N दी जाती है। हमारा कार्य C++ में श्रृंखला a, b, b, c, c, c… के N-वें पद को खोजने के लिए एक प्रोग्राम बनाना है। समस्या का विवरण श्रृंखला का वां पद ज्ञात करने के लिए - a, b, b, c, c, c, d, d, d, d,....Nशब्द हमें श्रृंखला का सामान्य पद ज्ञात करना होगा। समस्या को समझ

  1. सी++ में श्रृंखला 1, 2, 11, 12, 21… के एन-वें पद को खोजने का कार्यक्रम

    इस समस्या में, हमें एक नंबर N दिया जाता है। हमारा कार्य C++ में श्रृंखला 1, 2, 11, 12, 21… के N-वें पद को खोजने के लिए एक प्रोग्राम बनाना है। समस्या का विवरण श्रृंखला का वां पद ज्ञात करने के लिए - 1, 2, 11, 12, 21, 22, 111, 112, .... Nterms हम श्रृंखला का सामान्य पद ज्ञात करेंगे। समस्या को समझने

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

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