题意
求长度为 的 01 串有多少种组合方法。
思路
对于组合运算,我们可以理解为无顺序地,从 个物体中中选出 个物体进行排序,在数学中记作 。
在这道题中,我们假定选择了 个 ,则剩下的 个字符都是 ,即 在 的 和 的间隔中插空 ,所以它的组合数量表达式为 。
对于 Python 语言,在 math
库中有一个函数叫 math.comb()
,它可以计算组合数,所以我们就不用手打组合了。
代码
import math
n=int(input())
ans=0
for k in range(0,n+1,1):
ans+=math.comb(k+1,n-k)
print(ans)