我正在寻找一种公式或方法,以允许在随机难度中获得更高的数字。例如,如果我试图从1000中获得一个数字,那么获得1000将比获得更低的数字(如1 - 250)更难。
答案 0 :(得分:0)
一种简单的方法是使用平方根,这样可以更容易地获得更高的数字。然后我们从1,000减去,以便更容易得到更低的数字。
如果您想要的最低值为零:
1000 - (int) Math.sqrt(rand.nextInt(1001*1001))
如果您想要的最低值是一个:
1000 - (int) Math.sqrt(rand.nextInt(1000*1000))
答案 1 :(得分:0)
嗯,lambda
小于或等于1的泊松分布符合您的要求
public static int getPoisson(double lambda) {
double L = Math.exp(-lambda);
double p = 1.0;
int k = 0;
do {
k++;
p *= Math.random();
} while (p > L);
return k - 1;
}
用1来调用它,看看它是否是你想要的
答案 2 :(得分:-1)
使用Rand作为高数字,如
highNum = Rand(1,4) *250;
randNum = Rand(1, highNum);
使用此公式,1-250之间的数字在数字介于750-1000之间的概率为8.3倍