9.1拼多多笔试第三题

n = int(input())
a = list(map(int,input().split()))
a.sort()
j = 0
res = [0]*a[-1]
s = 1
for i in range(1, a[-1]+1):
    s = 1
    while a[j] < i:
        j += 1
    for k in range(j, len(a)):
        s *= i / a[k]
    s -= sum(res)
    res[i-1] = s

res1 = 0
for i in range(a[-1]):
    res1 += (i+1)*res[i]

print('%.2f'%res1)
代码很烂,没有体现出python的特性,思路就是从1~N遍历,算出每一个数的概率值,比如说算最大值为3的概率的时候,先算每一个骰子取1~3的概率,乘起来,然后减去之前算的最大值为1的概率和最大值为2的概率#拼多多##笔试题目#
全部评论
ac 了吗
点赞 回复 分享
发布于 2019-09-01 17:32
跟你想法一样,不过没写出来,被自己菜哭了😭
点赞 回复 分享
发布于 2019-09-01 19:13
第二题小梅那个,抽出的牌会有重复的吗?
点赞 回复 分享
发布于 2019-09-01 19:15
哎,当时没想清楚,减去重复的
点赞 回复 分享
发布于 2019-09-01 20:22

相关推荐

点赞 评论 收藏
分享
5 7 评论
分享
牛客网
牛客企业服务