蓝桥Python算法——印章

问题描述

  共有n种图案的印章,每种图案的出现概率相同。小A买了m张印章,求小A集齐n种印章的概率。

输入格式

  一行两个正整数n和m

输出格式

  一个实数P表示答案,保留4位小数。

样例输入

2 3

样例输出

0.7500

def comput(m, n, num):
    # print(m,n)
    if m < n:
        return 0
    elif n == 1:
        return pow(1/num,m-1)
    else:
        return comput(m - 1, n, num) * (n/num) + comput(m - 1, n - 1, num) * ((num - n + 1) / num)
        
getin = list(map(int, input().split()))
n = getin[0]
m = getin[1]
print("{:.4f}".format(comput(m, n, n)))

你可能感兴趣的:(python,开发语言,后端)