#include<cstdio>
#include<cstring>
double sum[160],dp[160][160];
int main()
{
dp[1][1]=1;
sum[1]=1;
for(int i=2;i<=50;i++)
{
for(int j=1;j<=i;j++)
dp[i][j]=dp[i-1][j-1]+dp[i-1][j]*j;
for(int j=1;j<=i;j++)
sum[i]+=dp[i][j];
}
int n;
while(~scanf("%d",&n)&&n)
printf("%d %.0f\n",n,sum[n]);
return 0;
}
poj 1671 DP n个数分成1,2,。。。n个组的可能数
最新推荐文章于 2022-07-11 12:07:29 发布