题解:本题主要考查第二类Stirling数。
简要题意:求前n项第二类Stirling数之和
代码如下:
#include<iostream>
#include<cstdio>
using namespace std;
int n;
double s[324][387];
int main()
{
for(int i=1;i<=100;i++)s[1][i]=0;//韵律数’超过'行数'时,一定会存在空'韵律'.
for(int i=1;i<=100;i++)s[i][1]=1;//只存在一种‘韵律’时,把i行放入这一个‘韵律’中的方法数始终为1.
for(int i=2;i<=100;i++)
for(int j=2;j<=i;j++)
s[i][j]=s[i-1][j-1]+s[i-1][j]*j;
while(cin>>n&&n)
{
double ans=0;
for(int i=1;i<=n;i++)ans+=s[n][i];
printf("%d %.0f\n",n,ans);//输出好坑
}
cin>>n;
return 0;
}