输出杨辉三角的前N行
题目描述
输出杨辉三角的前N行(N<10)。
输入
输入只有一行,包括1个整数N。(N<10)
输出
输出只有N行.
样例输入
5
样例输出
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
解题思路:杨辉三角最两侧的所有值都是1,可以先进行赋值,
然后再利用杨辉三角的规律计算中间的各个数
#include <math.h>
#include <stdio.h>
#include <string.h>
int main()
{
int n, i, j;
scanf("%d", &n);
int p[n][n];
p[0][0] = 1;
p[1][0] = 1;
p[1][1] = 1;
for (i = 0; i < n; i++)
{
p[i][0] = 1;
}
printf("1\n1 1\n");
for (i = 2; i < n; i++)
{
printf("1 ");
for (j = 1; j < i; j++)
{
p[i][j] = p[i - 1][j - 1] + p[i - 1][j];
p[i][j + 1] = 1;
printf("%d ", p[i][j]);
}
printf("1\n");
}
return 0;
}
输入8,结果如下图: