h: =proc(n,s)局部i,m;m:=n;
对于s中的i,do m:=位[或](m,i)od;{米}
结束时间:
g: =(n,s)->(w->`if`(w={},s并集{n},s-减去w并集
h(n,w)))(选择(x->Bits[And](n,x)>0,s):
b: =proc(n,s)选项记忆;`if`(n=0,
`如果`(nops(s)>1,0,1),b(n-1,s)+b(n-1,g(n,s))
结束时间:
a: =n->`如果'(n=0,1,b(n-1,{n})):
seq(a(n),n=0..42);