【C++】級数 1 − x²/2! + x⁴/4! − … の第n項までの和を求めるプログラム
このチュートリアルでは、級数 1 − x²/2! + x⁴/4! − … を第n項まで計算し、その和を求めるC++プログラムについて解説します。
この問題では、x と n の値が入力として与えられます。私たちのタスクは、指定された n 項まで級数を計算し、その合計値を求めることです。階乗(factorial)を計算する処理と、標準ライブラリのべき乗関数 pow() を組み合わせれば、簡単に実装できます。
サンプルコード
#include <math.h>
#include <stdio.h>
// 級数の和を計算する関数
double calc_sum(double x, int n){
double sum = 1, term = 1, fct, j, y = 2, m;
int i;
for (i = 1; i < n; i++) {
fct = 1;
// 階乗を計算
for (j = 1; j <= y; j++) {
fct = fct * j;
}
term = term * (-1); // 符号を交互に切り替える
m = term * pow(x, y) / fct;
sum = sum + m;
y += 2;
}
return sum;
}
int main(){
double x = 5;
int n = 7;
printf("%.4f", calc_sum(x, n));
return 0;
}出力
0.3469
コードのポイント
calc_sum() 関数では、最初の項「1」を初期値として sum に設定しています。ループの中で各項に対応する階乗を計算し、term 変数によって符号(+ と −)を交互に切り替えながら、x の偶数乗を階乗で割った値を順番に加算していきます。変数 y は 2 ずつ増加するため、x²、x⁴、x⁶ … といった偶数乗の項が順に処理される仕組みです。
上記の例では x = 5、n = 7 を指定しているため、第7項までの和である「0.3469」が出力されます。
-
【Java】1/1! + 2/2! + 3/3! + … + n/n! の級数の和を求めるプログラム
本記事では、次の級数の合計を求めるJavaプログラムを紹介します。 1/1! + 2/2! + 3/3! + 4/4! +…….+ n/n! 階乗(!)とは 「!」は階乗を表す記号です。nの階乗(n!)は、1からnまでのすべての整数を掛け合わせた値になります。例えば、3! = 3 × 2 × 1 = 6、4! = 4 × 3 × 2 × 1 = 24 です。したがって、この級数の第3項は 3/6 = 0.5、第4項は 4/24 ≒ 0.1667 となります。 サンプルコード import java.io.*; import java.lang.*; public
-
1/1! + 2/2! + 3/3! + …… + n/n! の級数の合計を求めるPythonプログラム
この記事では、与えられた問題を解くための解法とアプローチについて詳しく解説します。 問題文 整数 n が入力として与えられたとき、次の級数の合計を求めます。 1/1! + 2/2! + 3/3! + 4/4! + …… + n/n! ここでは for ループを使用して実装するため、時間計算量は O(n) となります。また、処理効率を高めるポイントとして、階乗の計算を同じループ内で同時に行っている点が挙げられます。 アルゴリズム 以下の手順で級数の合計を求めます。 合計値 res を 0、階乗値 fact を 1 で初期化します。 i を 1 から n まで順に処理し、fact *= i に