#包括“comb/composition-nz-numparts.h”#包括“comb/comb-print.h”#包括“nextarg.h”#包括“comb/is-unimodal.h”//is_weakly_unimodal(),is_strongly_unimodel()#包括“sort/overag.h”#包括“jjassert.h”#包括“fxttypes.h”#包括“fxtio.h”//%OEIS序列A187081:沙堆高度。//%与:n的组成,其中第一部分和最后部分为1//%连续部分之间的绝对差值小于等于1。//%A186084:砂桩(按基础长度)。//%同样是A186085:含n个颗粒的沙堆。//%A187080:按高度排列的硬币喷泉。//%A047998:按基长计算的硬币喷泉。//%同样是A005169:n个硬币的喷泉。//参考comb/composition-nz-wakly-unimodal-demo.cc,按字典顺序生成//#定义TIMING//取消注释以禁用打印模板静态内联类型Abs(常量类型&x)//返回abs(x){返回x>=0?x:-x;}整数main(int argc,char**argv){ulong n=10;NXARG(n,“n(n>=1)的组成”);布尔平方=1;NSARG(sq,“是否生成沙堆(其他硬币喷泉)”);布尔hq=1;NXARG(hq,“是否收集有关身高的统计数据(其他关于基本长度)”);composition_nz_numparts P(n);P.first();ulong ct=0;ulong*st=新ulong[n+1];//统计学对于(ulong j=0;j<=n;++j)st[j]=0;constulong*x=P.数据();ulong m=P.num_parts();{#如果1#如果0//无连续部分相等:A227310(粗砂桩)if(sq)//沙堆{bool q=真;对于(ulong k=1;k(长)(x[j]-x[j-1])>1){q=假;中断;}}else//硬币喷泉{对于(ulong j=1;j1 ){q=假;中断;}}如果(!q)继续;ulong h=0;//高度或基准长度如果(hq){对于(ulong j=0;j=b// {////如果(x[j]>=1){q=true;break;}//A131577 0,1,2,4,8,。。。////如果(x[j]>=2){q=true;break;}//A000225(移位)////如果(x[j]>=3){q=true;break;}//A008466(移位)a(n)=2^n-斐波那契(n+2)。//如果(x[j]>=4){q=true;中断;}//A050231////如果(x[j]>=5){q=true;break;}//A050232////如果(x[j]>=6){q=true;中断;}//A050233////如果(x[j]>=7){q=true;break;}//A143662////如果(x[j]>=8){q=true;break;}//A151975// }//如果(!q)继续;// }//{bool q=真;//对于(ulong j=0;j7){q=false;中断;}// }//如果(!q)继续;// }#结尾++ct;#如果!定义的计时cout<<setw(4)<<ct<<“:”;print_vec(“,x,m,true);//cout<<“”<<m;cout<<endl;#endif//计时}while((m=P.next())<=n);cout<<“stats:”;对于(ulong j=0;j<=n;++j)cout<<st[j]<<“”;cout<<endl;删除[]st;cout<<“ct=”<<ct<<endl;返回0;}// -------------------------/*沙堆高度(A187081):n(以美元计)(序列115);这样做/bin$n 1 1 | g“stats”|剪切-d:-f2;完成0 10 1 00 1 0 00 1 1 0 00 1 2 0 0 00 1 4 0 0 0 00 1 7 0 0 0 0 00 1 12 0 0 0 0 0 00 1 20 1 0 0 0 0 0 0 00 1 33 2 0 0 0 0 0 0 00 1 54 5 0 0 0 0 0 0 0 00 1 88 11 0 0 0 0 0 0 0 0 0 0 0 0 0 00 1 143 22 0 0 0 0 0 0 0 0 0 00 1 232 44 0 0 0 0 0 0 0 0 0 0 00 1 376 84 0 0 0 0 0 0 0 0 0 0 0 00 1 609 158 1 0 0 0 0 0 0 0 0 0 0 0 00 1 986 293 2 0 0 0 0 0 0 0 0 0 0 0 0 00 1 1596 535 5 0 0 0 0 0 0 0 0 0 0 0 0 0 00 1 2583 969 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 1 4180 1739 25 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0按底座长度划分的砂桩(A186084):n(以美元计)(序列115);这样做/bin$n 10 | g“stats”|剪切-d:-f2;完成0 10 0 10 0 0 10 0 0 1 10 0 0 0 2 10 0 0 0 1 3 10 0 0 0 0 3 4 10 0 0 0 0 1 6 5 10 0 0 0 0 1 4 10 6 10 0 0 0 0 0 3 10 15 7 10 0 0 0 0 0 2 8 20 21 8 10 0 0 0 0 0 1 7 19 35 28 9 10 0 0 0 0 0 0 5 18 40 56 36 10 10 0 0 0 0 0 0 3 16 41 76 84 45 11 10 0 0 0 0 0 0 1 12 41 86 133 120 55 12 1行总和:n粒砂桩:A186085echo$(表示$中的n(seq 1 15);这样做/bin$n 11 | g'ct=';done)|sed的/ct=//g;s//,/g;'1、1、1、2、3、5、8、13、22、36、60、100、166、277、461反对角线和:A186505按高度划分的硬币喷泉(A187080):以美元为单位的n(第115条);这样做/bin$n 0 1 | g“stats”|剪切-d:-f2;完成0 10 1 00 1 1 00 1 2 0 00 1 4 0 0 00 1 7 1 0 0 00 1 12 2 0 0 0 00 1 20 5 0 0 0 0 00 1 33 11 0 0 0 0 0 00 1 54 22 1 0 0 0 0 0 00 1 88 44 2 0 0 0 0 0 0 00 1 143 85 5 0 0 0 0 0 0 0 00 1 232 161 12 0 0 0 0 0 0 0 0 00 1 376 302 25 0 0 0 0 0 0 0 0 0 00 1 609 559 52 1 0 0 0 0 0 0 0 0 0 0按基长计算的硬币喷泉(A047998):n(以美元计)(序列115);这样做/bin$n 0 0|g“stats”|剪切-d:-f2;完成0 10 0 10 0 1 10 0 0 2 10 0 0 1 3 10 0 0 1 3 4 10 0 0 0 3 6 5 10 0 0 0 2 7 10 6 10 0 0 0 1 7 14 15 7 10 0 0 0 1 5 17 25 21 8 10 0 0 0 0 5 16 35 41 28 9 10 0 0 0 0 3 16 40 65 63 36 10 10 0 0 0 0 2 14 43 86 112 92 45 11 10 0 0 0 0 1 11 44 102 167 182 129 55 12 10 0 0 0 0 1 9 40 115 219 301 282 175 66 13 1行总数:A005169个n枚硬币的喷泉。echo$(对于以$为单位的n(seq 1 15);这样做/bin$n 0 0|g'ct=';完成)|sed的s/ct=//g;s//,/g;'1, 1, 2, 3, 5, 9, 15, 26, 45, 78, 135, 234, 406, 704, 1222按基底长度排列的粗砂桩(点表示零):参见A138158和A2275431. 1. . .. . . .. . . 1 .. . . . . .. . . . . . .. . . . . 1 . .. . . . . . . . .. . . . . 1 . . . .. . . . . . . 1 . . .. . . . . . . . . . . .. . . . . . . 2 . . . . .. . . . . . . . . 1 . . . .. . . . . . . 1 . . . . . . .. . . . . . . . . 3 . . . . . .. . . . . . . 1 . . . 1 . . . . .. . . . . . . . . 3 . . . . . . . .. . . . . . . . . . . 4 . . . . . . .. . . . . . . . . 3 . . . 1 . . . . . .. . . . . . . . . . . 6 . . . . . . . . .. . . . . . . . . 2 . . . 5。. . . . . . . . . . . 7 . . . 1。. . . . . . . . . 1 . . . 10 . . . . . . . . . .7 . . . 6 . . . . . . . . .. . . . . . . . . 1 . . . 14 . . . 1 . . . . . . . .. . . . . . . . . . . 5 . . . 15 . . . . . . . . . . .. . . . . . . . . . . . . 17 . . . 7 . . . . . . . . . .. . . . . . . . . . . 5 . . . 25 . . . 1 . . . . . . . . .. . . . . . . . . . . . . 16 . . . 21 . . . . . . . . . . . .. . . . . . . . . . . 3 . . . 35 . . . 8 . . . . . . . . . . .. . . . . . . . . . . . . 16 . . . 41 . . . 1 . . . . . . . . . .. . . . . . . . . . . 2 . . . 40 . . . 28 . . . . . . . . . . . . .. . . . . . . . . . . . . 14。65 . . . 9 . . . . . . . . . . . .1 . . . 43 . . . 63 . . . 1。. . . . . . . . . . . . . 11 . . . 86 . . . 36 . . . . . . . . . . . . . .粗砂堆高度(以点表示零):1. 1. . .. . . .. . 1 . .. . . . . .. . . . . . .. . 1 . . . . .. . . . . . . . .. . . 1 . . . . . .. . 1 . . . . . . . .. . . . . . . . . . . .. . . 2 . . . . . . . . .. . 1 . . . . . . . . . . .. . . 1 . . . . . . . . . . .. . . 3 . . . . . . . . . . . .. . 1 . 1 . . . . . . . . . . . .. . . 3 . . . . . . . . . . . . . .. . . 4 . . . . . . . . . . . . . . .. . 1 1 2 . . . . . . . . . . . . . . .. . . 6。. . . 5 2 . . . . . . . . . . . . . . . . ...1 4 3。. . . 10 1 . . . . . . . . . . . . . . . . . . .. . . 7 6。. . 1 10 4 1 . . . . . . . . . . . . . . . . . . . .. . . 15 5 . . . . . . . . . . . . . . . . . . . . . .. . . 12 12 . . . . . . . . . . . . . . . . . . . . . . .. . 1 20 8 2 . . . . . . . . . . . . . . . . . . . . . . .. . . 22 15 . . . . . . . . . . . . . . . . . . . . . . . . .. . . 23 21 2 . . . . . . . . . . . . . . . . . . . . . . . . .. . 1 35 19 3 . . . . . . . . . . . . . . . . . . . . . . . . . .. . . 34 34 2 . . . . . . . . . . . . . . . . . . . . . . . . . . .*////Emacs公司:///局部变量:///MyRelDir:“演示/序列”///makefile-dir:“../../”///make-target:“1demo DSRC=demo/seq/A187081-demo.cc”///make-target2:“1demo DSRC=demo/seq/A187081-demo.cc DEMOFLAGS=-DTIMING”///结束时间: