(Python)
来自itertools导入产品
定义c(w):
如果w[i]!=,则返回len(为范围(len(w))中的i设置(w[i:j+1]范围(i,len(w))中的j为“0”)+int(w中的“0”
定义a(n):
如果n==1:返回2
m、 argm,cardm=-1,无,0
对于产品中的b(“01”,重复=n-1):
v=c(“1”+“”连接(b))
如果v==m:argm,cardm=int(“1”+“”.join(b),2),cardm+1
elif v>m:m,argm,cardm=v,int(“1”+“”.join(b),2),1
回执卡
打印([a(n)代表范围(1,21)中的n])#迈克尔·布拉尼基2023年1月13日