20000*rand()/(rand_max+0)和rand()%20000+0这两个出来的结果有什么不同?为什么我在写蒙特卡洛定理求圆周率程序的时候用rand()%2000+0算出来的pai值就略偏大呢?

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/09 09:39:11

20000*rand()/(rand_max+0)和rand()%20000+0这两个出来的结果有什么不同?为什么我在写蒙特卡洛定理求圆周率程序的时候用rand()%2000+0算出来的pai值就略偏大呢?
20000*rand()/(rand_max+0)和rand()%20000+0
这两个出来的结果有什么不同?为什么我在写蒙特卡洛定理求圆周率程序的时候用rand()%2000+0算出来的pai值就略偏大呢?

20000*rand()/(rand_max+0)和rand()%20000+0这两个出来的结果有什么不同?为什么我在写蒙特卡洛定理求圆周率程序的时候用rand()%2000+0算出来的pai值就略偏大呢?
可以算一下:设rand()=100——
前者,20000*100/32767=61;
后者,100%20000=100.
二者的差别显而易见.