| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 801 人关注过本帖
标题:[讨论]看看随机数的公正性
只看楼主 加入收藏
abingchem
Rank: 6Rank: 6
等 级:贵宾
威 望:24
帖 子:716
专家分:0
注 册:2004-12-30
收藏
 问题点数:0 回复次数:9 
[讨论]看看随机数的公正性
随机数的公正性:

#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <stdlib.h>
void main()
{
int iNum[10]={0},i,j,k;
int iTemp;
randomize();
clrscr();
for(i=0;i<10;i++)
  {  for(j=0;j<10000;j++)
      {
       iTemp=random(10);
       iNum[iTemp]++;
      }
     printf("Times of %d\n",i);
     for(k=0;k<10;k++)
       {
 printf("(%d,%d)",k,iNum[k]);
 iNum[k]=0;
       }
     printf("\n");
  }
getch();
}
搜索更多相关主题的帖子: 随机数 公正性 
2005-01-12 17:30
abingchem
Rank: 6Rank: 6
等 级:贵宾
威 望:24
帖 子:716
专家分:0
注 册:2004-12-30
收藏
得分:0 
数据比较多,要大家慢慢分析喽

此人已消失
2005-01-12 17:33
空前
Rank: 1
等 级:新手上路
帖 子:1146
专家分:0
注 册:2004-5-11
收藏
得分:0 
不错!

2005-01-12 19:14
duyongxing
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2005-1-9
收藏
得分:0 
以下是引用abingchem在2005-1-12 17:30:19的发言: 随机数的公正性: #include <stdio.h> #include <conio.h> #include <math.h> #include <stdlib.h> void main() { int iNum[10]={0},i,j,k; int iTemp; randomize(); clrscr(); for(i=0;i<10;i++) { for(j=0;j<10000;j++) { iTemp=random(10);//这里生成一个随机数0-10 iNum[iTemp]++;//这里不懂理解,哪个帅哥帮我讲一下谢谢 } printf("Times of %d\n",i); for(k=0;k<10;k++) { printf("(%d,%d)",k,iNum[k]); iNum[k]=0; } printf("\n"); } getch(); }
2005-01-13 00:04
duyongxing
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2005-1-9
收藏
得分:0 
iNum[iTemp]++;//这里不懂理解,哪个帅哥帮我讲一下谢谢
2005-01-13 13:33
abingchem
Rank: 6Rank: 6
等 级:贵宾
威 望:24
帖 子:716
专家分:0
注 册:2004-12-30
收藏
得分:0 
iNum[iTemp]++表示,如果生成的随机数是几,用于记录随机数的变量就加一

此人已消失
2005-01-13 14:18
kaikai
Rank: 1
等 级:新手上路
帖 子:236
专家分:0
注 册:2005-1-7
收藏
得分:0 
整这个有啥用?

Have you visit acm.tongji. lately?
2005-01-13 21:16
abingchem
Rank: 6Rank: 6
等 级:贵宾
威 望:24
帖 子:716
专家分:0
注 册:2004-12-30
收藏
得分:0 
呵呵,随机数的使用还是很普遍的,但你可以看到,随机还是比较不公平的,偏重于某些情况,这样在随机的时候要好好考虑一下呢

此人已消失
2005-01-14 16:02
kaikai
Rank: 1
等 级:新手上路
帖 子:236
专家分:0
注 册:2005-1-7
收藏
得分:0 
-_-|||
假设rand()在0..n-1内是均匀的,那么rand()%p就是否在0..p-1内均匀就要看n%p是否为0了。
比较容易看到的一个例子:假如p=n-1那么rand()%p得到0的可能性要比其他数字高一倍.
不过我这些都是理论上的而已...

Have you visit acm.tongji. lately?
2005-01-14 21:41
fyi1106
Rank: 1
等 级:新手上路
帖 子:327
专家分:0
注 册:2006-10-14
收藏
得分:0 

楼主呀,你知道概率吗?概率相等次数就一定相等吗?还有你知道什么是误差吗?用这个产生的随机数本来就是等概率的。那个程序用来验证等概率还可以。


JavaScript forever!
2007-05-05 17:53
快速回复:[讨论]看看随机数的公正性
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024813 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved