(平价)
小于等于8192;
v050376=矢量(最多);
ispow2(n)=(n&&!比特和(n,n-1));
i=0;对于(n=1,oo,if(ispow2(isprimepower(n)),i++;v050376[i]=n);if(i==up_-to,break));
A052331号(n) ={my(s=0,e);当(n>1,fordiv(n,d,if(((n/d)>1)&&ispow2(isprimepower(n/d)),e=vecsearch(v050376,n/d);如果(!e、 打印(“v050376太短!”)return(1);s+;n/2);
A006068号(n) ={my(s=1,ns);while(1,ns=n>>s;if(0==ns,break());n=bitxor(n,ns);s<<=1;);return(n);}\\FromA006068号
A057300型(n) ={my(t=1,s=0);while(n>0,if(1==(n%4),n++,if(2==(n%4),n--);s+=(n%4)*t;n>>=2;t<<<=2);(s);};
邮编:A163355(n) =如果(!n、 n,my(i=(#二进制(n)-1)\2,f=4^i,d=(n\f)%4,r=(n%f));if(((1==d)&&!(i%2))| |((2==d)&(i%2)),f+邮编:A163355(A057300型(r) ),如果(3==d,f+f+邮编:A163355(A057300型(r) ),(3*f)+邮编:A163355(f-1-r)));
A302845型(n)=邮编:A163355(A006068号(A006068号(n) );
A302782飞机(n)=A302845型(A052331号(n) );
|