級数の合計を求めますか?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
-
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については、その合
-
シリーズ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