以数字为中心的Java加权随机机会
我有一个程序,其中我需要生成随机数来确定各种输出(解释确切的原因可能太长)。理论上,对于我的程序来说,一个高的数字(比如100000)是一个有效的输出,但它很可能(但并非完全不可能)最终成为无用的输出 我想生成随机数,这些随机数被加权为一个“标准化”数。 例如,我选择一个数字(10),随机生成的大多数数字将接近10。但随机数很可能是任意整数。目前,我只是在生成数字时使用一个范围,但这让我感到困扰,因为超出该范围的数字可能是有效和有用的输出以数字为中心的Java加权随机机会,java,random,Java,Random,我有一个程序,其中我需要生成随机数来确定各种输出(解释确切的原因可能太长)。理论上,对于我的程序来说,一个高的数字(比如100000)是一个有效的输出,但它很可能(但并非完全不可能)最终成为无用的输出 我想生成随机数,这些随机数被加权为一个“标准化”数。 例如,我选择一个数字(10),随机生成的大多数数字将接近10。但随机数很可能是任意整数。目前,我只是在生成数字时使用一个范围,但这让我感到困扰,因为超出该范围的数字可能是有效和有用的输出 有没有一个简单的方法来做到这一点而不引入大量的开销或者必
有没有一个简单的方法来做到这一点而不引入大量的开销或者必须将百分比机会映射到单个整数?
< P>我会认为这是一个统计问题而不是编程问题。我想你想要对数分布。这里有一个.表示正整数,或者都是可能的。Java实现可以解决所有这些问题。我认为您所描述的问题最好用基本统计数据来解决。您可以使用标准化数字作为平均值,从离散概率分布生成这些数字。也许泊松分布适用于您?您是被限制为正整数,还是所有整数都是有效的结果?是的,只有正整数