素数MS[n_]:=如果[n==1,{},扁平[Cases[FactorInteger[n],{p_,k_}:>表[PrimePi[p],{k}]]];
spsu[,{}]:={{}};spsu[foo_,set:{i_,___}]:=联接@@函数[s,前缀[#,s]和/@spsu[Select[foo,Complement[#,Complement[set,s]]=={}&],Complemental[set,s]]/@Cases[foo、{i,___}];
ptnpos[y_]:=位置[表[1,{#}]&/@y,1];
ptnverts[y_]:=选择[Join@@Table[Subsets[ptnpos[y],{k}],{k,Reverse[Union[y]]}],UnnameQ@@First/@#&];
表[With[{y=Reverse[primeMS[n]]},Length[Select[spsu[ptnverts[y],ptnpos[y]],Function[p,Sort[Length/@p]==Sort[y]]],{n,30}]
|