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

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

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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Rectified Linear Unit (ReLU)

    Rectified Linear Unit (ReLU)TheRectifiedLinearUnit(ReLU)computesthefunctionf(x)=max(0,x)f(x)=max(0,x),whichissimplythresholdedatzero.ThereareseveralprosandconstousingtheReLUs:(Pros)Comparedtosigmoid/tan

    2025年7月27日
    2
  • 脚本是什么?[通俗易懂]

    脚本是什么?[通俗易懂]初次接触“脚本”一词并不知道这一听似非常高大上的东西是什么,尔后逐渐接触,虽有了解,但也没有仔细地总结和思考过,今日百度了一下,在此小小总结。“脚本”其实就是一段代码,一个程序。这与我们学习C语言时,写的第一个“helloworld”显示程序没有太大的区别,那为什么这个向程序之神打招呼的“helloworld”程序我们不称其为脚本呢?因为“脚本”有这些特别之处:1、脚本语法比较简单…

    2025年7月26日
    3
  • 留意是啥意思_初听不知曲中意八句

    留意是啥意思_初听不知曲中意八句弹到当时留意处,谁是相如

    2022年4月21日
    56
  • 模式先行全新解读微商分销系统

    模式先行全新解读微商分销系统在微商迅速发展的时代下,微商分销系统的需求也日渐上升,这对微商分销系统也有着更高的要求。一款好的微商分销系统需要具备“快速搭建、功能强大、顺畅分销、管理有序,支付便捷,扩展性强”等条件,模式先行,分销模式也是恒量分销系统的一个非常重要的指标。微商分销系统通常为一级/二级/三级分销模式,即品牌商可以发展一级/二级/三级分销商,每一级分销商均可以往下再发展一级/二级分销商。我们以三级分销模式为例解读A…

    2022年5月17日
    39
  • navivat15激活码_通用破解码

    navivat15激活码_通用破解码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月16日
    89
  • Vue3如何关闭eslint

    Vue3如何关闭eslintvue3

    2022年5月6日
    43

发表回复

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

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