今度は限界まで計算するようにしている。
#include
double kaizyou(int num) {
static double zenkai=1;
static int zenkainum=1;
int i;
if(numzenkainum) {
for(i=zenkainum+1;inum;i++)zenkai/=i;
}
zenkainum=num;
return zenkai;
}
int main(void) {
double e=1;
double zenkaie=0;
int i=1;
while(1) {
e+=1.0/kaizyou(i);
if(e==zenkaie)break;
i++;
zenkaie=e;
}
printf("%d回の計算を行いました。\n",i);
printf("結果は%1.15fでした。\n",e);
return 0;
}
18回の計算を行いました。
結果は2.718281828459046でした。
πの時と違って見事一致したようです。
よかったです。