将数组中的数字映射到1到100的随机均匀

时间:2014-04-21 22:44:00

标签: java c++ random uniform

我有5个骰子,我每次掷骰子:说结果是骰子[] = {1,1,1,1,1}

这个dice []数组是函数的输入说

 int  random (dice) {
   //do some thing with the dice values { 1, 1, 1, 1, 1 } ( as input from user )

   //return a uniform random number between 1 to 100

 }

规则:只有随机源是骰子数组中的值。如何将每个值设置为1到100之间的数字,以使得结果值几乎均匀生成

请帮助

2 个答案:

答案 0 :(得分:1)

你可以将骰子上的数字分别乘以1,6,6 ^ 2,6 ^ 3,6 ^ 4。然后将它们加起来并取结果的最后两位数字(即最后输入%100)。

修改(谢谢pjs)

最后一步,添加1,以便得到1到100之间的答案,而不是0到99之间的答案。

答案 1 :(得分:0)

听起来像是在尝试生成从1到100的随机数。您可以查看C ++ rand()函数的工作方式here,或Java Math.random()函数{{ 3}}。