s=0看不见=1seen(v)=位测试(s,v)参见(v)=s=位或(s,2^v);while(可见(不可见),不可见++)a=矢量(10001,n,-1)u=0n=-1发射(v)={n++;如果(v+1<=#a,a[v+1]=n;而(a[u+1]>=0,打印(u“”a[u+1]);如果(1+u++>#a,退出;);););参见(v)}\\第n项,没有带x的公共位避免(x,n)={我的(v=0,b=1);而(n,如果(x%2==0,如果(n%2,v+=b;);n=2个);x=2;b*=2;);v(v)}{v=0;而(1,发射(v);如果(位和(v,不可见)==0,v=看不见,x=比特(v,看不见);对于(i=0,oo,c=避免(x,i);如果(!参见(c),排放(c);v=不可见;断裂;););););}退出