C++での級数2^0 + 2 ^ 1 + 2 ^ 2 + ... + 2^nの合計
この問題では、級数2 ^ 0、2 ^ 1、2 ^ 2、…、2^nのn番目の項を定義する数nが与えられます。私たちのタスクは、級数2 ^ 0 + 2 ^ 1 + 2 ^ 2 + ... + 2^nの合計を見つけるプログラムを作成することです。
問題を理解するために例を見てみましょう
入力
n=6
出力
説明
sum = 2^0 + 2^1 + 2^2 + 2^3 + 2^4 + 2^5 + 2^6 sum = 1 + 2 + 4 + 8 + 16 + 32 + 64 = 127
この問題の簡単な解決策は、ループを使用することです。 0からnまでの各値について2^iを見つけ、それを合計変数に追加します。
アルゴリズム
Initialize sum = 0 Step 1: Iterate from i = 0 to n. And follow : Step 1.1: Update sum, sum += 2^i. Step 2: Print sum.
例
ソリューションの動作を説明するプログラム
#include <iostream> #include <math.h> using namespace std; int calcSeriesSum(int n) { int sum = 0; for (int i = 0; i <= n; i++) sum += pow(2, i); return sum; } int main() { int n = 11; cout<<"Sum of the series 2^0 + 2^1 + 2^2 +...+ 2^"<<n<<" is "<<calcSeriesSum(n); return 0; }
出力
Sum of the series 2^0 + 2^1 + 2^2 +...+ 2^11 is 4095
これは、次数O(n)の時間計算量を作成するループを使用するため、この問題を解決するための最も効果的な方法ではありません。
より効果的な解決策として、合計に数式を使用します。それは
によって与えられます2^(n+1) - 1
例
#include <iostream> #include <math.h> using namespace std; int calcSeriesSum(int n) { return ( (pow(2, (n+1)) - 1) ); } int main() { int n = 11; cout<<"Sum of the series 2^0 + 2^1 + 2^2 +...+ 2^"<<n<<" is "<<calcSeriesSum(n); return 0; }
出力
Sum of the series 2^0 + 2^1 + 2^2 +...+ 2^11 is 4095
-
級数の合計を求めるC++プログラム1+1/2 ^ 2 + 1/3 ^3+…..+1/ n ^ n
このチュートリアルでは、与えられた級数の合計を見つけるプログラムについて説明します1 + 1/2 ^ 2 + 1/3 ^3+…..+1 / n^n。 このために、nの値が与えられます。私たちのタスクは、最初の項から始まるすべての項を合計して、与えられた系列の合計を見つけることです。 例 #include <iostream> #include <math.h> using namespace std; //calculating the sum of the series double calc_sum(int n) { int i; &nb
-
算術級数の合計のためのC++プログラム
「a」(第1項)、「d」(共通の差)、「n」(文字列内の値の数)が与えられ、タスクは級数を生成し、それによってそれらの合計を計算することです。 算術級数とは 算術級数は、シリーズの最初の項が「a」で固定され、それらの間の一般的な違いが「d」である、共通の違いを持つ数列です。 -として表されます a、a + d、a + 2d、a + 3d 、。 。 。 例 Input-: a = 1.5, d = 0.5, n=10 Output-: sum of series A.P is : 37.5 Input : a = 2.5, d = 1.5, n = 20 Output : sum of s