大意:台阶问题:N块东西,摞成台阶(高度严格单调递增)
算法:母函数展开
这个问题相当于求
(1+x)(1+x2)(1+x3)(1+x4)……的xn次项系数
%0.0lf   ……

数貌似有点大,用double能搞定。
 1#include <stdio.h>;
 2#include <iostream.h>;
 3#include <string.h>;
 4
 5double a[511][511] ;
 6
 7int main(){
 8memset(a,0,sizeof(a));
 9int i,j,n;
10cin>>n;
11a[0][0]=1;
12int t;
13for (i=1;i<=n;i++)
14for (j=0;j<=n;j++){
15a[i][j]+=a[i-1][j];
16t=j+i;
17if (a[i-1][j]>0 && t<=n) a[i][t]+=a[i-1][j];
18}

19printf("%0.0lf\n",a[n-1][n]);
20return 0;
21}