C++でn番目の項がn^2-(n-1)^2である級数の合計を求めます
この問題では、整数値Nが与えられます。私たちのタスクは級数の合計n ^ 2-(n-1)^2からn項までを見つけることです 。
問題を理解するために例を見てみましょう
Input : N = 3 Output : 6
説明 −
[12 - (0)2] + [22 - (1)2] + [32 - (2)2] = 1 - 0 + 4 - 1 + 9 - 2 = 9
ソリューションアプローチ
この問題を解決する簡単な方法は、級数の一般項を見つけてから、n項までの合計を見つけることです。また、数式を使用して合計を計算すると、O(1)までの時間が短縮されます。また、結果が大きくなる可能性があるため、値のモジュラスを見つける必要があります。
シリーズのn番目の項の式を導き出しましょう
$ T_ {n} \:=\:\ mathrm {n ^ 2-(n-1)^ 2} $
a2-b2式を使用して解くことについて
$ T_ {n} \:=\:\ mathrm {(n + n-1)*(n-n + 1)} $
$ =\:\ mathrm {(2 * n-1)*(1)} $
$ =\:\ mathrm {2 * n-1} $
これを使用して、シリーズのn項までの合計を見つけることができます
$ \ mathrm {sum} \:=\:\ sum(2 * n-1)$
$ \ mathrm {sum} \:=\:2 * \ sum {n} \:-\:\ sum {1} $
$ \ mathrm {sum} \:=\:2 *(n *(n + 1))/ 2-n $
$ \ mathrm {sum} \:=\:n *(n + 1)-n \:=\:n ^ 2 \:+ \:n \:-\:n \:=\:n ^ 2 $
級数の合計はn 2 です。 これは多数なので、modが使用されます。
例
ソリューションの動作を説明するプログラム
#include<iostream> using namespace std; #define mod 1000000007 long long calcSumNTerms(long long n) { return ((n%mod)*(n%mod))%mod; } int main() { long long n = 4325353; cout<<"The sum of series upto n terms is "<<calcSumNTerms(n); return 0; }
出力
The sum of series upto n terms is 678443653
-
n番目の項がn^2 –(n-1)^2である級数の合計を求めるJavaプログラム
そのようなシリーズの合計を見つけるために、Javaプログラムは次のようになります- 例 public class Demo { static long my_val = 1000000007; public static long compute_val(long my_int){ return ((my_int % my_val) * (my_int % my_val)) % my_val; } public static void main(St
-
n番目の項がn^2 –(n-1)^2である級数の合計を見つけるためのPythonプログラム
この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 整数入力nが与えられ、すべてのn項を合計する必要があります。ここで、一連のn番目の項は次のように表されます- Tn = n2 - (n-1)2 より多くの時間計算量を含むnの二乗muktiolicaionを含む合計を計算するための直接式があります。これを減らすために、ここではモジュラー乗算アプローチを使用します それでは、実装を見てみましょう- 例 # Python program to find sum of given # series. mod = 1000000007 def findSum(n)