hdoj-2032-杨辉三角
#include<stdio.h> int main() { long long a[40][70];//二维矩阵用来存放数据 int i,j,n; for(i=0;i<70;i++)//设定第一行的初始值 { a[0][i]=0; if(i==35||i==37) a[0][i]=1; } for(i=0;i<39;i++)//退出后面的数据 for(j=0;j<68;j++) a[i+1][j+1]=a[i][j]+a[i][j+2]; while(scanf("%d",&n)!=EOF) { putchar('1');//输出第一行 putchar('\n'); for(i=0;i<n-1;i++)//控制输出杨辉三角 { int flag=0,num=0; for(j=0;j<70;j++) { if(a[i][j]==1&&!flag) flag=1; if(a[i][j]==1) num++; if(!flag||num==2) continue; if(a[i][j]==0) putchar(' '); else printf("%lld",a[i][j]); } putchar('1');//补末尾的0 putchar('\n'); } putchar('\n');//每一组数据后面有回车 } return 0; }