改变随机数中一些值的概率

改变随机数中一些值的概率

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<sum+ QuJian[i])//寻找落到哪个区间
			{
				
				number = i+1;
				break;
			}
			sum+=QuJian[i];
		}
		print("random" + number);
		return number;
	}

GOOD LUCK!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/119155.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 均值不等式四个公式

    均值不等式四个公式假设有一根长度为24cm的钢筋,现在对其进行截取焊接成一个长方体框架,如何截取焊接才能保证长方体的体积最大?下面引出均值不等式可以解决这个问题。则有:     对进行证明:构建两个序列由排序不等式顺序和≥乱序和≥倒序和显然有下列不等式关系 接下来利用这个关系证明不等式两边同时取倒数不等…

    2022年4月30日
    149
  • java 加载.ftl_如果加载jar里面的ftl文件

    java 加载.ftl_如果加载jar里面的ftl文件我将ftl及一些基础类打成了一个java,用maven的方式依赖,结果调用的时候调用不了jar中的ftl文件,找的还是调用方的地址去找ftl文件2019-07-0512:10:00,086[FailProcessor][WARN]Error@/manage/login:java.lang.RuntimeException:freemarker.template.TemplateNotF…

    2022年6月18日
    63
  • SpringBoot线程池使用

    SpringBoot线程池使用一、线程池管理配置类@Configuration@EnableAsyncpublicclassExecutorConfig{privatestaticfinalLoggerlogger=LoggerFactory.getLogger(ExecutorConfig.class);@BeanpublicExecutorasyncTaskS…

    2022年6月16日
    29
  • Oracle PL/SQL编程之六: 把过程与函数说透「建议收藏」

    Oracle PL/SQL编程之六: 把过程与函数说透「建议收藏」Oracle PL/SQL编程之六:把过程与函数说透(穷追猛打,把根儿都拔起!)本篇主要内容如下:6.1 引言6.2 创建函数6.3 存储过程6.3.1 创建过程6.3.2 调用存储过程6.3.3 AUTHID6.3.4 PRAGMA AUTONOMOUS_TRANSACTION6.3.5 开发存储过程步骤

    2022年6月17日
    20
  • opencv cv2.imread()「建议收藏」

    opencv cv2.imread()「建议收藏」cv2.imread()用于读取图片文件imread函数有两个参数,第一个参数是图片路径,第二个参数表示读取图片的形式,有三种:cv2.IMREAD_COLOR:加载彩色图片,这个是默认参数,可以直接写1。cv2.IMREAD_GRAYSCALE:以灰度模式加载图片,可以直接写0。cv2.IMREAD_UNCHANGED:包括alpha,可以直接写-1cv2.imread()读…

    2022年10月15日
    0
  • 电商数仓(dwd 层)

    电商数仓(dwd 层)一、dwd层介绍1、对用户行为数据解析。2、对核心数据进行判空过滤。3、对业务数据采用维度模型重新建模,即维度退化。二、dwd层用户行为数据2.1用户行为启动表dwd_start_log1、数据来源ods_start_log->dwd_start_log2、表的创建droptableifexistsdwd_start_log;CREATEEXTER…

    2022年6月26日
    42

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号