これは私が思いついたものです:
#include <stdio.h>
int main (void)
{
int n, i, j;
float e = 1.0, nFact = 1.0;
printf ("please enter the number");
scanf ("%d", &n);
for (i = 1; i <= n ; i++)
{
for (j = 1; j <= i; j++)
{
nFact *= j;
}
e = e + (1.0 / nFact);
}
printf ("The value of 'e' is : %f", e);
return 0;
}
これがこのコードから得られるものです。入力: 3 出力: 2.58333 (これは 2.6666 に近い...)
ただし、n=3 の場合、e は 2.6666.. を値として与える必要があります。
ここで何か間違ったことをしていますか?適切な出力を取得するにはどうすればよいですか?