%I#16 2019年12月7日12:18:29
%S 0,0,1,3,9,25,712056071833517577555151771915706991852571,
%电话:6055079199107296582375121865409972945955124430512138210993363,
%电话:276856718439362508213931747023149107918393082736769516545191255476054952566314235
%N[N]的排列数p,使得在0p中最大的上跳等于2,而下跳不大于2。
%如果p_{i}>p_{i-1},并且j是{p_{i}中这些元素的递增排序列表中p_i的索引,则在p中的位置i处发生向上跳转j。。。,大于p{i-1}的p{n}}。如果p_{i}<p_{i-1}并且j是在{p_{i}。。。,小于p{i-1}的p{n}}。列表中的第一个索引在这里是1。
%C所有正项都是奇数。
%H Alois P.Heinz,n的表格,n=0..1000时的a(n)</a>
%e a(2)=1:21。
%e a(3)=3:132213231。
%e a(4)=9:1243、1324、1342、2134、2143、2314、2341、2413、2431。
%e a(5)=25:12354,12435,12453,13245,13254,13425,13452,13524,13542,21345,21354,21435,21453,23145,23154,23415,23451,23514,23541,24135,24153,24315,24351,24513,24531,24531。
%pb:=proc(u,o,k)选项记忆`如果`(u+o=0,1,
%p加(b(u-j,o+j-1,k),j=1..分钟(2,u))+
%p加(b(u+j-1,o-j,k),j=1..分钟(k,o))
%p端:
%pa:=n->b(0,n,2)-b(0,n,1):
%p序列(a(n),n=0..30);
%tb[u_,o_,k_]:=b[u,o,k]=如果[u+o==0,1,和[b[u-j,o+j-1,k],{j,1,最小值[2,u]}]+和[b[u+j-1,o-j,k];
%ta[n]:=b[0,n,2]-b[0,n,1];
%t数组[a,30,0](*_Jean-François Alcover_,2019年5月31日,摘自枫叶*)
%o(Python)
%o来自sympy.core.cache导入缓存
%o@缓存
%o def b(u,o,k):如果u+o==0,则返回1,否则sum([b(u-j,o+j-1,k)用于范围(1,min(2,u)+1)]中的j)+sum([b(u+j-1,o-j,k)用于范围(1,min(k,o)+1)]中的j)
%o定义a(n):返回b(0,n,2)-b(0,n,1)
%o对于范围(31)中的n:打印(a(n))#_Indranil Ghosh,2017年8月30日
%A291680的Y列k=2。
%K nonn公司
%0、4
%A _Alois P.Heinz,2017年8月29日
|