参考答案: C A
详细解析:
各种计算机程序设计语言都配置了随机数产生函数,例如rnd()。每调用一次,就能获得一个随机数。计算机产生的随机数当然是伪随机数,还不具有真正的随机性质,但对于应用来说,足以能模拟随机数了。
程序产生的随机数序列中,任取其中N个数(不一定连续),便可以考察其在(0,1)区间中的分布情况。我们可以发现,当N比较大时,这些随机数在整个(0,1)区间内的分布将是比较均匀的,也就是说,不会过于聚集在某些地方。当然,既然是随机地均匀,那就不大会完全等间隔地分布,也不大会绝对准确地均匀分布。
随机现象总是保持两方面的特征:从整体上服从某种统计规律,但从个体上说,却经常在力争偏离统计量。
从理论上讲,在(0,1)区间均匀分布的随机数,落入任意子区间(a,b)的概率等于该子区间的长度b-a。因此,对足够大的N,任取N个随机数,其中落入子区间(a,b)的个数m,则m/N应比较接近b-a。例如,大致会有一半小于1/2,一半大于1/2;大致会有1/3的随机数大于1/3,而小于2/3;大致会有1/10的数,其小数点后的第二个数字是8。当然,这里的“大致”并不是精确的,只是当N足够大时可以这样来估计。
程序中每次获得的随机数对(x,y),相当于在单位正方形[0,1;0,1]中取得一个均匀分布的点。判断x2+y2≤1是否成立,就是判断该点(x,y)是否落入单位圆内。
在单位正方形中均匀分布的点中,选择一部分落入单位圆中,则这些选中的点,就会在单位圆的第一象限部分(占1/4单位圆)内均匀分布。落入这部分的点的比率大致会接近1/4单位圆与单位正方形的面积之比(π/4)。
因此,题中所叙述的程序方法,实际上就是计算π的一种方法。所取得的大量随机数对中,落入1/4单位圆的比率(m/N)的4倍,应会接近π。这种方法非常简单,也很容易快速算出π的近似值,但要得到精度较高的π值就不容易了。