Problem D
杨辉三角
时限:1000ms 内存限制:10000K 总时限:3000ms
描述:
按要求输出杨辉三角(如下)的前n行.
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
. . . . . .
. . . . . . .
输入:
一个整数n.
输出:
杨辉三角的前n行.
输入样例:
2
输出样例:
1
1 1
#include<stdio.h> int main() { int a[100][100]={0},n,i,j; scanf("%d",&n); for(i=0;i<n;i++)//为三角形边界处的数赋值1 { a[i][0]=1; a[i][i]=1; } for(i=2;i<n;i++)//由于第1和2行都已被赋值为1,故可从第三行开始计算 { for(j=1;j<n-1;j++) { a[i][j]=a[i-1][j]+a[i-1][j-1]; } } for(i=0;i<n;i++) { for(j=0;j<=i;j++) { if(j<i&&a[i][j]!=0) printf("%d ",a[i][j]); if(j==i&&a[i][j]!=0) printf("%d\n",a[i][j]); } } return 0; }