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

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 になります。公式による計算結果と一致していることが確認できますね。

  1. 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

  2. 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;   &