数学常数最令人着迷的就是,它们常常出现在一些看似与之毫不相干的场合中。 随便取一个 0 到 1 之间的数,再加上另一个 0 到 1 之间的随机数,然后再加上一个 0 到 1 之间的随机数⋯⋯直到和超过 1 为止。一个有趣的问题:平均需要加多少次,才能让和超过 1 呢?答案是 e 次。
#define NUM 9999999
int main()
{
int sum=0;
srand(time(NULL));
for (int i=0;i<NUM;i++)
{
double val=0;
while(val <1)
{
val+=(rand()/(double)RAND_MAX);
sum++;
}
}
printf("%f\n",sum/(double)NUM);
return 0;
}
