博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
改变随机数中一些值的概率
阅读量:6405 次
发布时间:2019-06-23

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

The problem:

掷骰子游戏中6个点数出现的概率是相等的,抛开这个游戏,那么我们想在随机取1~6的整数时,某些整数被取得的概率变大;

The solution:

思路:将一个整数区间[0,n)分为6份,然后从这个区间随机取得某整数x,则x落到每份中的概率为:若每份等长则落到每份的概率都是相等的;若某份较长则x落到该份的概率较大;以下我取区间为[0,36),当然也可取[0,18),[0,24)等等;

code:[C#,Unity3d圣典]

int  MyRandom()	{		int [] QuJian = new int[6];		int number = 0;			QuJian[0]=6;//每一个数组元素表示该份区间的整数个数;若数组元素都相等表示每份中的整数个数相等,则x落到每份中得概率相等;		QuJian[1]=9;//明显x落到QuJian[1]的概率大于落到QuJian[2]的概率,但全部的数组元素的和为36;		QuJian[2]=3;		QuJian[3]=6;		QuJian[4]=6;		QuJian[5]=6;		int sum_All = 0;		for(int i = 0;i<6;i++)		{			sum_All+=QuJian[i];		}		number = Random.Range(0,sum_All);//随机选择整数x		int sum =0;		for(int i =0 ;i<6;i++)		{			if( number>=sum && number
GOOD LUCK!

转载地址:http://wntea.baihongyu.com/

你可能感兴趣的文章
Angular7教程-03-Angular常用操作(上)
查看>>
洛谷 P1200 [USACO1.1]你的飞碟在这儿Your Ride Is Here
查看>>
【python】python的列表表达式或解析式,帅就一个字
查看>>
聊聊 Spring Boot 2.x 那些事儿
查看>>
写Markdown费事?Typora让你像写word一样行云流水,所见即所得。
查看>>
TCP协议中的三次握手和四次挥手(图解)
查看>>
实例分析ASP.NET在MVC5中使用MiniProfiler监控MVC性能的方法 
查看>>
iOS 之 Core Data实践 1
查看>>
Jexus 5.8.2 正式发布为Asp.Net Core进入生产环境提供平台支持
查看>>
简单使用游标插入数据
查看>>
爬虫与多线程
查看>>
day06-python元祖
查看>>
as3字型的使用
查看>>
JavaScript 中 !==和 != 的区别
查看>>
CKEDITOR 默认最大化
查看>>
sonar环境的搭建
查看>>
[开源]在iOS上实现Android风格的控件Toast
查看>>
python endswith和startwith
查看>>
云服务器 ECS--查找公网ip使用终端连接云服务
查看>>
HttpClient的用法
查看>>