问题描述
共有n种图案的印章,每种图案的出现概率相同。小A买了m张印章,求小A集齐n种印章的概率。
输入格式
一行两个正整数n和m
输出格式
一个实数P表示答案,保留4位小数。
样例输入
2 3
样例输出
0.7500
Python代码
n, m = map(int, input().split())
dp = [[ float(i) for i in range(n)] for i in range (m)]
for i in range (m):
for j in range (n):
if i < j :
dp[i][j] = 0
elif j == 0 :
dp[i][j] = n * ((1/n)**(i+1))
else :
dp[i][j] = dp[i-1][j] *((j+1)*1.0/n) + dp[i-1][j-1] *((n-j)*1.0/n)
ans = dp[m-1][n-1]
print('{:.4f}'.format(ans))