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

श्रृंखला का योग ज्ञात कीजिए 1^2 - 2^2 + 3^2 - 4^2 ... C++ में n पदों तक

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

समस्या को समझने के लिए एक उदाहरण लेते हैं,

Input : N = 3
Output : 6

स्पष्टीकरण -

12 - 22 + 32 = 1 - 4 + 9 = 6

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

समस्या को हल करने का एक आसान तरीका लूप का उपयोग करना है। हम इटरेटर i के साथ 1 से n तक लूप करेंगे।

अगर i विषम है, तो जोड़ें (i 2 ) योग के लिए।

अगर मैं सम है, तो घटाएं (i 2 ) राशि के लिए। अंत में, लूप के बाद श्रृंखला का योग लौटाएं।

एल्गोरिदम

आरंभ करें - योग =0.

  • चरण 1 −n तक लूप, i -> 1 से n तक

    • चरण 1.1 - अगर मैं विषम है, तो जोड़ें (i 2 ) योग करने के लिए, अगर (i% 2 ==0) => योग +=i 2

    • चरण 1.2 - अगर मैं सम है, तो जोड़ें (i 2 ) योग करने के लिए, अगर (i% 2 ==0) => योग -=i 2

  • चरण 2 - वापसी राशि।

उदाहरण

हमारे समाधान की कार्यप्रणाली को दर्शाने के लिए कार्यक्रम

#include <iostream>
using namespace std;
int findSumOfSeries(int n) {
   int sum = 0;
   for (int i = 1; i <= n; i++) {
      if (i % 2 == 0)
         sum -= (i*i);
      else
         sum += (i*i);
   }
   return sum;
}
int main(void) {
   int n = 5;
   cout<<"The sum of series is "<<findSumOfSeries(n);
}

आउटपुट

The sum of series is 15

एक और तरीका श्रृंखला के योग के लिए सूत्रों का उपयोग कर रहा है।

अगर N सम है,

$\mathrm{sum\:=\:1^2\:-\:2^2\:+\:3^2\:-\:4^2\:+\:\dotsm\:+\:( n-1)^2\:-n^2}$

$\mathrm{sum\:=\:(1-2)(1+2)\:+\:(3-4)(3+4)\:+\:\dotsm(n-1-n)( n-1+n)}$

$\mathrm{sum\:=\:(-1)(3)\:+\:(-1)(7)\:+\:(-1)(2n-1)}$

$\mathrm{sum\:=\:(-1)(1+2+3+4+\dotsm\:+(n-1)+n)}$

$\mathrm{sum\:=\:(-1)\:*\:\begin{bmatrix}\frac{n*(n+1)}{2} \end{bmatrix}}$

अगर N विषम है,

$\mathrm{sum\:=\:1^2\:-\:2^2\:+\:3^2\:-\:4^2\:+\:\dotsm\:+\:( n-2)^2\:-(n-1)^2\:+\:n^2}$

$\mathrm{sum\:=\:(1^2\:-\:2^2\:+\:3^2\:-\:4^2\:+\:\dotsm\:+\:(n-2)^2\:-(n-1)^2)\:+\:n^2}$

$\mathrm{sum\:=\:\lbrace(-1)\:*[\frac{n*(n+1)}{2}]\rbrace\:+\:n^2}$

$\mathrm{sum\:=\:(\frac{-n^2\:+\:n\:+\:2n^2}{2})}$

$\mathrm{sum\:=\:(n+n^2)/2\:=\:n^*(n+1)/2}$

उदाहरण

हमारे समाधान की कार्यप्रणाली को दर्शाने के लिए कार्यक्रम

#include <iostream>
using namespace std;
int findSumOfSeries(int n) {
   int sum = 0;
   if(n % 2 == 0){
      sum = (-1)*(n*(n+1))/2;
   }
   else {
      sum = (n*(n+1))/2;
   }
   return sum;
}
int main(void) {
   int n = 5;
   cout<<"The sum of series is "<<findSumOfSeries(n);
}

आउटपुट

The sum of series is 15

  1. सी ++ में एक पेड़ में सबसे बड़ा सबट्री योग खोजें

    इस समस्या में हमें एक बाइनरी ट्री दिया जाता है। हमारा काम पेड़ में सबसे बड़ा सबट्री योग खोजना है। समस्या का विवरण: बाइनरी ट्री में सकारात्मक और साथ ही नकारात्मक मान होते हैं। और हमें उस सबट्री को खोजने की जरूरत है जिसमें नोड्स की अधिकतम राशि हो। समस्या को समझने के लिए एक उदाहरण लेते हैं,

  1. C++ प्रोग्राम 1 + 1/2^2 + 1/3^3 +…..+ 1/n^n श्रृंखला का योग ज्ञात करने के लिए

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

  1. सी ++ प्रोग्राम 23+ 45+ 75+….. एन शर्तों तक श्रृंखला का योग खोजने के लिए

    इस ट्यूटोरियल में, हम दी गई श्रृंखला 23+ 45+ 75+….. तक N शब्दों का योग ज्ञात करने के लिए एक प्रोग्राम पर चर्चा करेंगे। इसके लिए, हमें N का मान दिया जाएगा और हमारा कार्य दी गई श्रृंखला का योग ज्ञात करने के लिए पहले से शुरू होने वाले प्रत्येक पद को जोड़ना है। इसे हल करने के बाद, हमें श्रृंखला के योग