C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C++でシリーズ1-2+3-4 + 5-6 +7....の合計を求めます


この問題では、整数値Nが与えられます。私たちのタスクはシリーズ1の合計-2 + 3-4 + 5-6+7からn項までを見つけることです

シリーズは1-2+3-4 + 5-6 + 7-8 + 9-10 ...

問題を理解するために例を見てみましょう

Input : N = 4
Output : -2

説明

1 - 2 + 3 - 4 = -2

ソリューションアプローチ

この問題を解決する簡単な方法は、級数の一般項を見つけてから、n項までの合計を見つけることです。また、数式を使用して合計を計算すると、O(1)までの時間が短縮されます。

シリーズは、

1-2 + 3-4 + 5-6 + 7-8 + 9-10 ...

いくつかの値の級数の合計を見つけましょう

sum(1)=1

sum(2)=1-2 =-1

sum(3)=1-2 + 3 =2

sum(4)=1 --2 + 3-4 =-2

sum(5)=1-2 + 3-4 + 5 =3

sum(6)=1 --2 + 3-4 + 5-6 =-3

sum(7)=1 --2 + 3-4 + 5-6 + 7 =4

sum(8)=1 --2 + 3-4 + 5-6 + 7-8 =-4

ここでは、合計は次のように定式化できると結論付けることができます。

nが奇数の場合、合計=+(n + 1)/2。

合計=-(n)/ 2(nが偶数の場合)。

ソリューションの動作を説明するプログラム

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

出力

The sum of series upto n terms is -78

  1. C++で級数1+2 + 2 + 3 + 3 + 3 + ..+nの合計を求めるプログラム

    この問題では、級数のn番目の項を示す数nが与えられます。私たちのタスクは、シリーズ1 + 2 + 2 + 3 +3 + 3 + ..+nの合計をC++で見つけるプログラムを作成することです 。 問題の説明 −ここで、n番目の項が数nの合計のn倍である級数の合計を求めます。これは、それが一連​​の平方数であることを意味します。 問題を理解するために例を見てみましょう 入力 n = 4 出力 30 説明 第4項までの級数の合計=1+ 2 + 2 + 3 + 3 + 3 + 4 + 4 + 4 + 4 =30 ソリューションアプローチ この問題の最も効果的な解決策は、級数の合計に一般式を

  2. C++で調和級数の合計を見つけるプログラム

    この問題では、a、d、nの3つの数が与えられます。私たちのタスクは、C++で調和級数の合計を見つけるプログラムを作成することです。 調和数列 は、その逆数が等差数列になる級数です。つまり調和数列A1、A2、A3 .. Anの場合、等差数列1 / A1、1 / A2、1/A3があります。 したがって、一般的なHPは 1/a, 1/(a+d), 1/(a+2d), … 1/(a + nd) ここで、1/aは最初の用語です。そして、dはreversedAPの一般的な違いです。 問題の説明 −ここでは、最初の項a、共通の差d、および項の数nが与えられます。 HPについては、その合