1189 - C语言7.13
输出杨辉三角形的前n行。
Input
第一行有一个正整数n,保证n不超过20。
Output
共有n行,从第1行至第n行,每行输出与行数相等个数的整数,整数后输出一个空格。
请注意行尾输出换行。
Examples
Input
6
Output
1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1
Solution C
#include <stdio.h> int main() { int dat[20][20]; int n, i, j; scanf("%d", &n); for (i = 0;i < n;i++) { dat[i][0] = dat[i][i] = 1; for (j = 0;j + 1 < i;j++) dat[i][j + 1] = dat[i - 1][j] + dat[i - 1][j + 1]; } for (i = 0;i < n;i++) { for (j = 0;j <= i;j++) printf("%d ", dat[i][j]); puts(""); } return 0; }
Solution C++
#include <stdio.h> int main() { int dat[20][20]; int n, i, j; scanf("%d", &n); for (i = 0;i < n;i++) { dat[i][0] = dat[i][i] = 1; for (j = 0;j + 1 < i;j++) dat[i][j + 1] = dat[i - 1][j] + dat[i - 1][j + 1]; } for (i = 0;i < n;i++) { for (j = 0;j <= i;j++) printf("%d ", dat[i][j]); puts(""); } return 0; }