C++で級数 23+45+75+… の最初のN項の合計を求める方法
このチュートリアルでは、級数 23 + 45 + 75 + … の最初のN項までの合計を求めるC++プログラムについて解説します。
具体的には、値Nが与えられたとき、第1項から第N項までのすべての項を順番に足し合わせ、級数全体の合計を求めることが課題となります。
級数の合計を求める公式
この問題を数学的に解くと、級数の合計は次の公式で表すことができます。
Sn = (2n(n+1)(4n+17) + 54n) / 6
この公式を使えば、各項を1つずつ足していく反復処理を行わなくても、O(1)の計算量で瞬時に合計を求められます。Nが大きくなっても高速に動作するのが大きなメリットです。
実装例
#include <iostream>
using namespace std;
// 級数の合計を計算する関数
int calc_sum(int N) {
int sum = (2 * N * (N + 1) * (4 * N + 17) + 54 * N) / 6;
return sum;
}
int main() {
int N = 7;
int res = calc_sum(N);
cout << res << endl;
return 0;
}出力結果
903
コードの解説
上記のプログラムでは、calc_sum 関数が引数として項数Nを受け取り、導出した公式に基づいて合計を計算して返します。main 関数では N = 7 を設定し、その結果を出力しています。
N = 7 の場合、級数は 23 + 45 + 75 + 113 + 159 + 213 + 275 となり、これらを足し合わせると確かに 903 になります。公式による計算結果と一致していることが確認できますね。
-
C++で級数 23+45+75+… の最初のN項の合計を求める方法
このチュートリアルでは、級数 23 + 45 + 75 + … の最初のN項までの合計を求めるC++プログラムについて解説します。具体的には、値Nが与えられたとき、第1項から第N項までのすべての項を順番に足し合わせ、級数全体の合計を求めることが課題となります。級数の合計を求める公式この問題を数学的に解くと、級数の合計は次の公式で表すことができます。Sn = (2n(n+1)(4n+17) + 54n) / 6この公式を使えば、各項を1つずつ足していく反復処理を行わなくても、O(1)の計算量で瞬時に合計を求められます。Nが大きくなっても高速に動作するのが大きなメリットです。実装例#include
-
C++で級数 (1×1) + (2×2) + (3×3) + … + (n×n) の合計を求めるプログラム
このチュートリアルでは、級数 (1*1) + (2*2) + (3*3) + (4*4) + (5*5) + … + (n*n) の合計を求めるC++プログラムについて解説します。 この問題では、nの値が与えられます。私たちのタスクは、最初の項から順番にすべての項を加算していき、級数全体の合計を求めることです。 実装例 #include <iostream> using namespace std; // 級数の合計を計算する関数 int calc_sum(int n) { int i; int sum = 0; &