a[n_]:=模块[{k=天花板[Log2[n]],int,na,nb,sum,i},
如果[n==1,
int=整数分区[n,{2}];
如果[OddQ[n],sum=0,sum=1/2*二项式[n,n/2]*((a[n/2])^2)];
对于[i=1,i<=长度[int],i++,
na=整数[[i]][[1];nb=整数[i]][2];
如果[na>n/2&&na≤2^(k-1)&&nb>=2^(k-2),
总和=总和+二项式[n,na]*a[na]*a[nb];
];
];
返回[sum];
]]