自然対数の底 e を近似計算するプログラムについて
e≒1+1/1!+1/2!+1/3!+...+1/n!
これを、第2項で打ち切った結果(1+1/1!)から、第11項で打ち切った結果までを、
n の値、計算した e の近似値、実際の e の値との絶対値の差の順に、連続的に出力しようとしています。
実際に私が書いたプログラムは下の通りです。
経験が浅く、どの部分がおかしいのか全く分かりません。
どなたか教えていただけると幸いです。
よろしくお願いします。
#include<math.h>
#include<stdio.h>
int main(void) {
int n;
double e,x;
e=1;
for(n=1;n<=11;n=n+1){
e=e+1/n;
x=fabs((e)-exp(1));
printf("%d %f %f\n",n,e,x);
}
return 0;
}
出力結果
1 2.000000 0.718282
2 2.000000 0.718282
3 2.000000 0.718282
4 2.000000 0.718282
5 2.000000 0.718282
6 2.000000 0.718282
7 2.000000 0.718282
8 2.000000 0.718282
9 2.000000 0.718282
10 2.000000 0.718282
11 2.000000 0.718282
理想的な出力結果
2 2.000000 0.718282
3 2.500000 0.218282
..........
10 2.718282 0.000000
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/14 08:46