codeup 杨辉三角

题目描述

按要求输入如下格式的杨辉三角

1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1

最多输出10层

输入

输入只包含一个正整数n,表示将要输出的杨辉三角的层数。

输出

对应于该输入,请输出相应层数的杨辉三角,每一层的整数之间用一个空格隔开

样例输入 Copy

5

样例输出 Copy

1
1 1
1 2 1
1 3 3 1
1 4 6 4 1

AC代码:

扫描二维码关注公众号,回复: 12260274 查看本文章
#include<cstdio>
using namespace std;

int a[11][11];

int main()
{
    int n;
    scanf("%d",&n);
    //i代表行,j代表列,又因为第i行有i个数,所以每行有i列,即j <= i
    for (int i = 1;i <= n;i++){
        for (int j = 1;j <= i;j++){
            //第1列和对角线上的数字全为1
            if (i == j || j == 1) a[i][j] = 1;
            else a[i][j] = a[i - 1][j - 1] + a[i - 1][j];
        }
    }
    //输出
    for (int i = 1;i <= n;i++){
        for (int j = 1;j <= i;j++){
            printf("%d ",a[i][j]);
        }
        printf("\n");
    }
    return 0;
}

猜你喜欢

转载自blog.csdn.net/smallrain6/article/details/106987056