区间上的数出现概率指数变化

调整区间上数出现的概率

区间上的数出现概率指数变化

假设函数random()等概率随机返回一个在[0, 1)范围上的数,那么在[0, x)区间上的数出现的概率为x(0<x≤1)。
给定一个大于0的整数k,并且可以使用random()函数,
请实现一个函数依然返回在[0, 1)范围上的数,但是在[0, x)区间上的数出现的概率为 x k x^k xk(0<x≤1)。


算法思路

求k次random()结果中的最大值


若k次random()结果中的最大值若为x,
每次 独立random()结果小于等于x,概率为x,
则总概率(k次结果中的最大值为x的概率)为 x k x^k xk


相应代码

import random

# k次random()结果最大值
def randXPowerK(k):
    if k < 1:
        return None
    max = random.random()
    for i in range(1, k):
        num = random.random()
        if num > max:
            max = num
    return max

有任何疑问和建议,欢迎在评论区留言和指正!

感谢您所花费的时间与精力!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值