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

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については、その合計を見つける必要があります。

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

入力

a = 3, d = 2, n = 5

出力

0.878211

説明

HPは1/3、⅕、1 / 7、1 / 9、1/11です。

Sum = ⅓ + ⅕ + 1/7 + 1/9 + 1/11 = 0.878211

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

このn番目の項を繰り返し、HPの各項の値を見つけて、sumVarに追加します。そして最後にsumValを返します。

アルゴリズム

初期化 − sumVal =0、term =0;

  • ステップ1 −ループfori->1からn
    • ステップ1.1 −用語を見つける、term =1 /(a +(i-1)*(d)。
  • ステップ1.2 − sumVal、sumVal +=termを更新します。
  • ステップ2 −sumValを印刷します。

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

#include <iostream>
using namespace std;
float findSeriesSum(int a, int d, int n){
   float sumVal = 0;
   float term = 0;
   for(float i = 1; i <= n; i++){
      term = (1.0)/(float)(a + (i-1)*d);
      sumVal += term;
   }
   return sumVal;
}
int main(){
   int n = 5, a = 3, d = 2;
   cout<<"The sum of HP is "<<findSeriesSum(a, d, n);
   return 0;
}

出力

The sum of HP is 0.878211

もう1つのアプローチ 再帰関数を使用して合計を見つけることができます。

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

#include <iostream>
using namespace std;
float findSeriesSum(int a, int d, int n){
   if(n == 1){
      return (float)(1.0)/a;
   }
   float term = (1.0)/ (float)(a + (n-1)*d);
   return term + findSeriesSum(a, d, n-1);
}
int main(){
   int n = 5, a = 3, d = 2;
   cout<<"The sum of HP is "<<findSeriesSum(a, d, n);
   return 0;
}

出力

The sum of HP is 0.878211

  1. C ++でシリーズa、b、b、c、c、cのN番目の項を見つけるプログラム

    この問題では、番号Nが与えられます。私たちのタスクは、C ++でシリーズa、b、b、c、c、cのN番目の項を見つけるプログラムを作成することです。 問題の説明 級数のN番目の項を見つけるには- a、b、b、c、c、c、d、d、d、d、....用語 シリーズの総称を見つける必要があります。 問題を理解するために例を見てみましょう 入力 N =7 出力 d ソリューションアプローチ シリーズの総称を見つけるには、シリーズを注意深く観察する必要があります。シリーズには1a、2 b、3 c、4 d、...これはAPのようです。そして、N番目の項はAPの合計であり、aとdの両

  2. シリーズ1、2、11、12、21のN番目の項をC++で検索するプログラム

    この問題では、番号Nが与えられます。私たちのタスクは、C++でシリーズ1、2、11、12、21…のN番目の項を見つけるプログラムを作成することです。 問題の説明 級数のN番目の項を見つけるには- 1、2、11、12、21、22、111、112、.... Nterms シリーズの総称を見つけます。 問題を理解するために例を見てみましょう 入力 N =8 出力 112 ソリューションアプローチ 一般的な用語を導き出すには、シリーズを注意深く観察する必要があります。このシリーズでは、値に1と2しかないことがわかります。そして、すべての用語は1と2の交互になります。したがって、一