清除[a,b,c,d,e,f,g,m](*这些连分式函数在Mathematica文档中给出*)CF[r0_?NumericQ,n_Integer?NonNegative]:=模块[{l={},r=r0,a},Do[a=Floor[r];(*整数部分*)附加到[l,a];r=r-a;(*分数部分;0<=r<1*)如果[r==0,中断[]];r=1/r;(r>1*),{n}];l]CFValue[l_List]:=折叠[1/#1+#2&,无穷大,反转[l]]位=50 c[1]=1 c[2]=0 c[3]=2 c[0]=3(*长度m-1*的通用回文连分数生成器)a[m_]=删除[Table[If[Floor[m/2]-n>=0,c[Mod[n,4]],c[Mod[m-n,4]]],{n,1,m}],m](*从回文数组中生成分数*)e=表[CFValue[展平[表[a[m],{k,1,数字}]],{m,2,数字}];(*得到新的带消零的半回文连分式数组*)f[n_]=CF[e[n]],数字];(*从连分数数组创建新的半回文序列*)g=表[Sum[f[m][[i]]*10^(i-1),{i,1,m-1}],{m,2,digits-1}]