今日の人気記事

  1. printf関数の変換指定子
  2. 条件演算子(3項演算子)「? :」
  3. コンパイルと実行 - GNU Compiler Collection(gcc) - Linux環境
  4. 入力した5教科の合計点と平均点を計算する
  5. int main(void) - プログラムの基本

自然対数の底(ネイピア数)を計算する

当ページのリンクには広告が含まれています。

スポンサーリンク

自然対数の底(ネイピア数)を計算するC言語のサンプルプログラムを紹介します。

自然対数の底(ネイピア数)

\(e^x\) のマクローリン展開は

\begin{aligned} e^x \hspace{2pt}&= \sum_{n=0}^{\infty} \frac{1}{n!}x^n \\ &= 1 + x + \frac{1}{2!}x^2 + \frac{1}{3!}x^3 + \cdots \hspace{20pt} (-\infty < x < \infty) \end{aligned}

です(参考:e^xのマクローリン展開 - 目で学ぶ!数学)。

この級数に \(x=1\) を代入すると

\begin{aligned} e \hspace{2pt}&= 1 + 1 + \frac{1}{2!} + \frac{1}{3!} + \cdots \\ &= 1 + \sum_{n=1}^{\infty} \frac{1}{n!} \end{aligned}

このようにネイピア数を求める数式(級数)を得ることができます。

サンプルプログラム

それではネイピア数の級数を計算してみましょう。適切に計算できているかどうかを確認するために「math.h」を使って、ネイピア数の定数(M_E)も合わせて出力しています。

/*
 * C言語のサンプルプログラム - Webkaru
 * - 自然対数の底(ネイピア数)の計算 -
 */
#include <stdio.h>
#include <math.h>

int main(void)
{


  /* 変数の宣言 */
  int i;

  /* 階乗 */
  int kaijou = 1;

  /* 繰り返す回数 */
  int number = 30;

  /* ネイピア数 */
  double napier = 1.0;

  /* 級数の計算 */
  for(i=1;i<number;i++){
    kaijou *= i;
    napier += 1.0 / kaijou;
  }

  /* ネイピア数の出力 */
  printf("計算結果 e = %f\n", napier);

  /* ネイピア数の出力(定数) */
  printf("math.hの定数 e = %f\n", M_E);

  return 0;
}

実行結果です。

計算結果 e = 2.718282
math.hの定数 e = 2.718282

このように適切に計算できていますね。

サンプルプログラム の人気記事

  1. サンプルプログラム集
  2. 2進数を10進数に変換する
  3. 配列に格納した数値を昇順ソートする
  4. 入力した行列の積(掛け算)を計算する
  5. 入力したアルファベットを小文字から大文字に変換する
  6. 三角形の面積を計算する
  7. 入力した2つの数値の掛け算・割り算する
  8. for文 - 1つ飛ばしの繰り返し処理を実行する(奇数・偶数)
  9. 入力した数値の桁数を表示する
  10. 10進数を2進数に変換する

関連記事(一部広告含む)