调整[0,x)区间上的数出现的概率
题目描述:
假设函数Math.random()等概率随机返回一个在[0,1)范围上的数,那么我们知道,在[0,x)区间上的数出现的概率为x (0<x≤1)。
给定一个大于0的整数k,并且可以使用 Math.random()函数,请实现一个函数依然返回在[0,1)范围上的数,但是在[0,x)区间上的数出现的概率为x的k次方(0<x≤1)。
题目难度:
题目思路:
本题给定一个x和k,要求出一个数出现在(0——x)范围的概率为x的k次方。
思路如下:
要求出一个数出现在(0——x)范围的概率为x的k次方,即使用Math.random()函数计算k次,求出这k次中最大的值,使该最大值小于给定x即可。
代码实现:
/**
* Created by Zhaoyang Ge on 2018/11/2.
*/
public class ProbabilityXPowerK {
public static double randXPower2() {
//计算在0——x范围内,出现x平方次的概率
return