Вы на PARI делали? Можно на код взглянуть?
Конечно, но там из-за особенностей PARI много лишнего:
Код:
nn=600; kk=6;
T=matrix(nn, kk); T[1,1]=1;
{rT(n,k)=
if(k<0 || k>n, return(0));
if(k==0 || k==n || n==0, return(1));
2*rT(n-1,k)+rT(n-1,k-1)-2*rT(n-2,k-1)+rT(n-k-1,k-1)-rT(n-k-2,k);
}
for(n=2,kk+2, for(k=1,min(n,kk), T[n,k]=rT(n,k)););
for(n=kk+3,nn, T[n,1]=2*T[n-1,1]+1-2*1+1-T[n-1-2,1]; for(k=2,kk, T[n,k]=2*T[n-1,k]+T[n-1,k-1]-2*T[n-2,k-1]+T[n-k-1,k-1]-T[n-k-2,k]););
print(vecsum(T[nn-1,1..5])/2^nn*2.);
Разбил на два цикла потому что рекурсивная rT() слишком медленно работает при больших
. А выделил случай
отдельно т.к. массивы начинаются с 1 и не стал усложнять себе задачу смещением индексов.