《程序员代码面试指南》调整[0,x)区间上的数出现的概率——java实现

本文介绍了如何使用Java实现一个函数,该函数在调用Math.random()基础上,使得在[0,x)区间上随机数出现的概率变为x的k次方,适合于代码面试中的概率调整问题。难度为easy,主要思路是对Math.random()进行k次运算,取最大值进行判断。" 53178502,5756440,深入理解Linux RPM包管理,"['Linux', '包管理', 'RPM']
摘要由CSDN通过智能技术生成

调整[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)。

题目难度:

easy

题目思路:

本题给定一个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 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值