#包括“bits/bitlow.h”#包括“bits/bitsperlong.h”#包括“fxtio.h”#包括“fxttypes.h”#包括“nextarg.h”//%OEIS序列A278479://%最小k,使得第k个分区数的2-adic赋值为n。//#define TIMING//取消注释以禁用打印类triang_num//OEIS序列A001318,带标志:// +1, +2, -5, -7, +12, +15, -22, -26, +35, +40,{私人:乌龙特;乌龙;bool-ps;ulong eo(ulong y)常数//A026741:如果n为奇数,a(n)=n,如果n为偶数,则为n/2。{返回y>>((y&1)==0);}公众:triang_num(){t=0;n=0;ps=假;next();}bool pos()常量{return ps;}ulong next(){//a(n+1)=a(n)+A026741(n)t+=eo(n);如果(n&1)ps=!ps;n+=1;返回t;}};// -------------------------整数main(int argc,char**argv){ulong n=1000;NXARG(n,“计算分区数(模BITS_PER_LONG)到n”);ulong*P=新ulong[n];#如果为0{triang_num T;对于(ulong j=0;j= 1,p(n)=+p(n-1)+p(n-2)-p(n-5)-p。。。*///cout<<“j=”<<j<<“:…”<endl;triang_num T;ulong t=t.next();ulong s=0;而(t<=j){//cout<<(T.pos()?'+':'-')<<t<<“,”;ulong r=P[j-t];如果(T.pos())s+=r;其他s-=r;t=t.next();}//cout<<endl;//cout<<“j=”<<j<<“:s=”<<s<<endl;P[j]=秒;}#结尾//对于(ulong j=0;j-->