こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

ネイピア数(e)のプログラム

テイラー展開によってネイピア数の近似値を求める
プログラミングが全くわかりません。
e = 2.71828 18284 59045 23536 02874 71352 …
を計算したいのですが。

#include <stdio.h>
#include <math.h>

int kaijou(int p)
{
int cnt;
int val=1;
for(cnt=1 ; cnt<=p ; cnt++){
val=val*cnt;
}
return(val);
}

double napier(int p)
{

printf("eを計算します。E = (1+(1/k))^k\n");
printf("k=いくつまで計算しますか ?\n");
scanf("%d", &n);
double E[n];
E[1] = 1;
for (j = 1; j <= n; j++){
E[j] = E[j] + 1;
}
for (k = 1; k <= n; k++) {
K = K + 1;
A = 1 / K;
// printf("A = %e, ",A);
B = 1 + A;
// printf("B = %e\n",B);
for ( i = 1; i<=k; i++){
E[k] = E[k] * B;
// printf("E[%3d]= %e\n",k,E[k]);


}

void main(void)
{
int n;
int cnt;
double answer;

printf("計算する最大の項nを入力してください:");
scanf("%d",&n);

for(cnt=1 ; cnt<=n ; cnt++){
answer=napier(cnt);

printf("第%d項までの近似値:%f 真値:%f 差:%f\n",cnt,answer,exp(1),answer-exp(1));
}
}

投稿日時 - 2009-08-11 19:56:16

QNo.5199694

困ってます

このQ&Aは役に立ちましたか?

2人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

int kaijou(int p)
という関数があったり
printf("eを計算します。E = (1+(1/k))^k\n");
という文があったりするけど、一体どういう式でeを計算したいの?
lim[n→∞](1+1/n)^n
なのか、それとも
Σ[n=0:∞](1/n!)
なのか?

投稿日時 - 2009-08-11 20:43:13

あなたにオススメの質問