自然対数の底eの値を多桁数で算出する関数。

<関数名>
  e —- 自然対数の底eの値を多桁数で算出する

<形式>
  void e(int *data, int keta);

<引数>
  data (出力) eの値が10進4桁ずつ入った整数の配列
  keta (入力) 小数点以下の桁数の指定

<関数値>
  なし

用例
  int data[1000];
  e(data, 1000);

  e の値 (小数点以下1万桁)

<関数本体>
  e.c

<説明>
  マクローリン展開

ex = 1 + x/1! + x2/2! + … +xn/n! + …

に x = 1 とおき、

     

e = 1 + 1/1! + 1/2! + 1/3! + … + 1/n! + …

の式を利用して計算。さらに、右辺の第2項目以降の計算では、計算回数の少ないつぎの式に変形して使う。

     (((…((1/n + 1) 1/(n-1) + 1) 1/(n-2) + 1)…) 1/3 + 1) 1/2 + 1

Comments are closed.

Post Navigation