题意:
求s(n,0)+s(n,1)+...s(n,n),s(i,j)为第二类Stirling数。
分析:
有递推公式s(p,k)=(p-1)*s(p-1,k)+s(p-1,k-1) ,1<=k<=p-1。
代码:
//poj 1671 //sep9 #include<iostream> using namespace std; double s[64][64]; double sum[64]; int main() { for(int i=0;i<=50;++i){ s[i][0]=0; s[i][i]=1; } for(int i=1;i<=50;++i){ sum[i]=0; for(int j=1;j<=i;++j){ s[i][j]=j*s[i-1][j]+s[i-1][j-1]; sum[i]+=s[i][j]; } } int x; while(scanf("%d",&x)==1&&x) printf("%d %.0lf\n",x,sum[x]); return 0; }
版权声明:本文为博主原创文章,未经博主允许不得转载。
poj 1671 Rhyme Schemes 第二类Stirling数
原文地址:http://blog.csdn.net/sepnine/article/details/46706501