-2
for(int i=0;i<100;i++)
   for(int j=0;i<6;j++)
   {
      cout<<rand()%6<<"," // Store these numbers in a map
   }
cout<<endl;

说,假设我将这些随机数存储在内部 for 循环中map<int,myRandomNumbers>

在一些随机游戏中,游戏制作者也创建了一个类似的调用rand()%6来获取所有 6 个数字。这 6 个数字是否有任何可能与其中一个完全或部分相同myRandomNumbers

4

2 回答 2

1

好吧,你可以计算它,假设rand()给出一个完全均匀的分布(它没有,但我们假设它无论如何都会这样做)。如果在该范围内生成 6 个随机数,[0, 5]则从同一范围内生成的另一组 6 个随机数完全相同的概率是(1/6)^6 ~ 2.14e-5。您可以使用二项分布来计算它们部分相似的概率,即在nn in 的位置匹配[0, 6]

于 2013-02-07T03:39:51.217 回答
0

rand()除非您通过调用来播种函数,否则您srand()很有可能会得到完全相同的数字(假设随机数是由不同的进程创建的)。

于 2013-02-07T03:41:33.493 回答