拼多多概率计算

if __name__ == "__main__":
    n = int(input().strip())
    numbers = list(map(int, input().strip().split(' ')))
    numbers.sort()
    result_dict = dict()
    tmp = 1
    for num in numbers:
        tmp *= (1/num)
    result_dict[1] = tmp
    for i in range(2, numbers[-1] + 1):
        tmp = 1
        for num in numbers:  # 计算概率
            if num >= i:
                tmp *= (i/num)
        for j in range(1,i):
            tmp -= result_dict[j]
        result_dict[i] = tmp
    result = 0
    for key, val in result_dict.items():
        result += (key * val)
    print('%.2f'%result)
#拼多多##笔试题目##题解#
全部评论
看不懂,求大神讲解
点赞 回复 分享
发布于 2019-09-01 17:29
m
点赞 回复 分享
发布于 2019-09-01 17:17
感觉写的差不多,不知道为啥就只a了35%
点赞 回复 分享
发布于 2019-09-01 17:13
什么思路啊,么看懂。。。。。
点赞 回复 分享
发布于 2019-09-01 17:10
突然发现自己错哪了,,没有输出.2f
点赞 回复 分享
发布于 2019-09-01 17:08

相关推荐

评论
2
4
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务