#包括“bits/bit-sl-gray.h”#include“bits/bit2pow.h”//ld()#包括“bits/print-bin.h”#包括“fxttypes.h”#包括“fxtio.h”#包括“bits/bitsperlong.h”#包括“nextarg.h”//%OEIS序列A217262://%最小变化顺序二进制字的增量序列(子lex格雷码)。//对于子lex顺序,请参阅bits/bitlex-demo.cc。//请参阅comb/binary-sl-gray-demo.cc以在数组中生成。整数main(int argc,char**argv){ulong n=5;NXARG(n,“n位二进制字”);bool eq=真;NXARG(eq,“是否打印文字”);//否则就是顺序bit_sl_gray G(n);ulong ct=0;ulong xo=1UL;如果(n>=2)xo<<=(n-2);bool sq=false;//等待最右边的变化{constulong x=G.数据();常量ulong px=ld(x^xo);//变更的位置如果(eq){cout<<setw(4)<<ct<<“:”;++ct;print_bin(“”,x,n);//格雷码的单词print_bin(“”,x^xo,n);//三角洲层序cout<<“”<<px;如果((px==1)&&(!sq))cout<<“<--=序列在此处之后开始”;cout<<endl;}其他的{如果(sq)cout<<px<<“,”;}如果(px==1)sq=true;xo=G.数据();}while(G.next());cout<<endl;返回0;}// -------------------------///Emacs公司:///局部变量:///MyRelDir:“演示/序列”///makefile-dir:“../../”///make-target:“1demo DSRC=demo/seq/A217262-demo.cc”///make-target2:“1demo DSRC=demo/seq/A217262-demo.cc DEMOFLAGS=-DTIMING”///结束时间: