如果i==j&&j-1>=0时候,f[i][j]=f[i][j-1];
如果j==0时候,f[i][j]=1;
其他 f[i][j]=f[i-1][j]+f[i][j-1];
#include <stdio.h> int main(){ __int64 gird[40][40]; int i,j; for(i=0;i<=35;++i) gird[i][0]=1; for(i=1;i<=35;++i){ for(j=1;j<=i;++j){ if(j==i){ gird[i][j]=gird[i][j-1]; continue; } gird[i][j]=gird[i-1][j]+gird[i][j-1]; } } int n; int cnt=1; while(~scanf("%d",&n)){ if(n==-1) break; printf("%d %d %I64d ",cnt++,n,gird[n][n]*2); } return 0; }