当前位置: 代码迷 >> 综合 >> poj 1671 Rhyme Schemes 第二类Stirling数
  详细解决方案

poj 1671 Rhyme Schemes 第二类Stirling数

热度:36   发布时间:2024-01-19 05:36:16.0

题意:

求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;	
}