您有一个函数 rand(3),它生成从 1 到 3 的随机整数。使用此函数构造另一个函数 rand(9),它生成从 1 到 9 的随机整数。
这是一个简单的解决方案:
rand(3) + 3*(rand(3) - 1)
您想要这样做的原因是它提供了从 1 到 9 的所有可能值的均匀分布。
有些人可能会想做rand(3) * rand(3)
,但这实际上并不会生成一些数字 - 例如 7。它的数字分布也不均匀does产生。
同样,有些人可能会这样做rand(3) + rand(3) + rand(3)
,但这也不会生成所有数字(它永远不会生成 1 或 2),并且会生成频率不成比例的其他数字(生成 5 的频率比 9 多得多)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)