POJ 1671 求bell数

/*
POJ 1671 Rhyme Schemes
result:AC
time: 0MS
*/
#include"iostream"
using namespace std;
double f[55][55];
int main()
{
	int n;
	while(cin>>n,n)
	{
		int i,j;
		double ans=0;
		for(i=1;i<=n;i++){
			f[i][1]=1;
			for(j=1;j<i;j++)
				f[i][j]=f[i-1][j-1]+j*f[i-1][j];//求第二类stirling数
			f[i][i]=1;
		}
		for(j=1;j<=i;j++)
			ans+=f[n][j];//求bell数
		printf("%d %.0lf\n",n,ans);
	}
	return 0;
}

  

posted @ 2011-07-25 20:44  Ac_smile  阅读(445)  评论(0编辑  收藏  举报