博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
验证对Random的两个猜想
阅读量:6583 次
发布时间:2019-06-24

本文共 2307 字,大约阅读时间需要 7 分钟。

猜想1Random.Next()产生的随机数不会有重复。

猜想2:大量级执行Random.Next(int i)分布在各个数值上的概率是均匀的。

验证猜想1 /*如果Random.Next()产生的随机数不存在重复,那么_CunFangSuiJiShuDeList.Count应该等于执行总次数*/List
_ZhiXingCiShuList = new List
();_ZhiXingCiShuList.Add(100);//一百_ZhiXingCiShuList.Add(1000);//一千_ZhiXingCiShuList.Add(10000);//一万_ZhiXingCiShuList.Add(100000);//十万_ZhiXingCiShuList.Add(1000000);//一百万StringBuilder _StringBuilder = new StringBuilder();foreach (int key in _ZhiXingCiShuList){ List
_CunFangSuiJiShuDeList = new List
(); Random _Random = new Random(); for (int i = 0; i < key; i++) { int _suiJiShu = _Random.Next(); //如果列表不存在该数字,则将该数字加入列表。 if (_CunFangSuiJiShuDeList.Contains(_suiJiShu) == false) { _CunFangSuiJiShuDeList.Add(_suiJiShu); } } _StringBuilder.AppendFormat("执行{0}次结果:{1}" + Environment.NewLine, key, _CunFangSuiJiShuDeList.Count); }Console.Write(_StringBuilder.ToString());Console.ReadLine(); 执行结果截图: 从结果看,执行一百次、一千次及一万次时,不存在重复,执行十万次时,出现一次重复,一百万次出现二百三十二次重复。说明Random.Next()会产生重复随机数,但只有在超过一定量级时才会,并且量级越大重复值个数越多。
 
验证猜想2 static void Main(string[] args) {    List
_ZhiXingCiShuList = new List
(); _ZhiXingCiShuList.Add(1000);//一千 _ZhiXingCiShuList.Add(10000);//一万 _ZhiXingCiShuList.Add(100000);//十万 _ZhiXingCiShuList.Add(1000000);//一百万 StringBuilder _StringBuilder = new StringBuilder(); foreach (int key in _ZhiXingCiShuList) { Dictionary
> _ZiDian = new Dictionary
>(); for (int i = 0; i < 10; i++) { _ZiDian.Add(i, new List
()); } Random _Random = new Random(); for (int i = 0; i < key; i++) { int _suiJiShu = _Random.Next(10); _ZiDian[_suiJiShu].Add(_suiJiShu); } _StringBuilder.AppendFormat("执行{0}次数值分布:" + Environment.NewLine, key); foreach (KeyValuePair
> ZiDianKey in _ZiDian) { _StringBuilder.AppendFormat("{0}:{1}" + Environment.NewLine, ZiDianKey.Key, ZiDianKey.Value.Count); } _StringBuilder.Append(Environment.NewLine); } Console.Write(_StringBuilder.ToString()); Console.ReadLine();} 执行结果截图: 猜想成立,分布在各个数值上的概率是均匀的。

 

写作时间:2018-11-09

=====================================================================================

本文只代表本人的见解,可能存在错误,仅用于技术交流。如果你喜欢该文,可以扫下面的二维码打赏我(打赏敬请备注“博客园打赏”五字)。

转载于:https://www.cnblogs.com/j20171203/p/9936398.html

你可能感兴趣的文章
Linux系统相关命令
查看>>
BATJ面试必会之 Spring 篇(一)
查看>>
表驱动法
查看>>
什么是企业内训
查看>>
firefox无法显示java插件plugin
查看>>
H3C设备之OSPF DR选举
查看>>
List grantee right in oracle
查看>>
Activity生命周期
查看>>
通过VBS编写自动输入账号和密码、自动登录程序的脚本
查看>>
MTK APSoC SDK MT7621编译固件的快速开始
查看>>
深度解析Istio系列之安全模块篇
查看>>
Linux 系统 审计
查看>>
JS -------------------设置弹出框位置屏幕的中间
查看>>
性能测试 vbs使用(一)
查看>>
1.2 linux哲学思想
查看>>
jQuery基础
查看>>
BZOJ5312:冒险——题解
查看>>
echarts,两点连线,中间断裂
查看>>
samba简易配置
查看>>
庆祝在CNBlogs开博!
查看>>