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

級数の合計を求めますか?3 +?12 + ....C++で最大N項


この問題では、整数値Nが与えられます。私たちのタスクは、級数の合計?3 +?12+...最大n項を見つけることです。 。

シリーズは$\sqrt3 + \ sqrt12 + \ sqrt27 + \ sqrt48 + ... $

つまり一連の平方根です。

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

Input : N = 3
Output : 10.3922

説明

$ \ sqrt3 + \ sqrt12 + \ sqrt27 =1.7320 + 3.4641 + 5.1961 =10.3922 $

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

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

シリーズは、

$ \ sqrt3 + \ sqrt12 + \ sqrt27 + \ sqrt48 + ... $

ここでは、すべての用語で共通の$ \sqrt3$があります。私たちが持っているのと同じように考えてみてください、

$ \ Rightarrow \:\ sqrt {3}(\ sqrt {1} \:+ \:\ sqrt {4} \:+ \:\ sqrt {9} \:+ \:\ sqrt {16} \:+ \ :\ dotsm)$

$ \ Rightarrow \:\ sqrt {3}(1 \:+ \:2 \:+ \:3 \:+ \:4 + \:\ dotsm)$

したがって、一般的な用語は、

$ \ mathrm {T_n \:=\:n * \ sqrt {3}} $

これを使用して、シリーズのn項までの合計を見つけることができます

$ \ mathrm {Sum} \:=\:\ sum {n} ^ * \ sqrt {3} $

$ \ mathrm {Sum} \:=\:\ sqrt {3} ^ * \ sum {n} $

$ \ mathrm {Sum} \:=\:(\ sqrt {3})^ *(n ^ *(n + 1))/ 2-n $

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

#include<iostream>
#include<math.h>
using namespace std;
float calcSumNTerms(float n) {
   return ((sqrt(3)) * ((n*(n+1))/2));
}
int main() {
   float n = 25;
   cout<<"The sum of series upto n terms is "<<calcSumNTerms(n);
   return 0;
}

出力

The sum of series upto n terms is 562.917

  1. 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については、その合

  2. シリーズ23+45+75+…..最大N項の合計を求めるC++プログラム

    このチュートリアルでは、与えられたシリーズの合計を見つけるプログラムについて説明します23+45+75+…..最大N項。 このために、Nの値が与えられます。私たちのタスクは、最初の項から始まるすべての項を合計して、与えられた系列の合計を見つけることです。 これを解いた後、級数の合計の式を取得します; Sn =(2n(n + 1)(4n + 17)+ 54n)/ 6 例 #include <iostream> using namespace std; //calculating the sum of the series int calc_sum(int N) { &n