e (e=1+1/1!+1/2!+1/3!+...) を制限係数イプシロンに近似するプログラムを作成しようとしています。プログラムは、現在のステートメントがイプシロン未満になるまで項を追加し続ける必要があります。ここで、イプシロンはユーザーが入力した小さな (浮動小数点) 数値です。
e を n 番目の項に近似するプログラムを書くことはできますが、最新の項がイプシロン未満になると停止するところまで実行するのに苦労しています。
どんな助けでも大歓迎です。
#include <stdio.h>
int main(void)
{
int i=1,l;
float e,p,epsilon;
printf("Enter the value of epsilon: ");
scanf("%f", &epsilon);
for(;;)
{
p=1;
for(l = 1; l < 1; l--)
{
p*=l;
if (1/p<epsilon) {
goto done;
}
}
e+=1/p;
i++;
}
done:
printf("The value of e limited by epsilon is %f\n",e);
return 0;
}