链接:https://ac.nowcoder.com/acm/contest/19306/1016
来源:牛客网
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 262144K,其他语言524288K
64bit IO Format: %lld

题目描述

    

杨辉三角形又称Pascal三角形,它的第i+1行是(a+b)i的展开式的系数。

它的一个重要性质是:三角形中的每个数字等于它两肩上的数字相加。

下面给出了杨辉三角形的前4行:

   1

  1 1

 1 2 1

1 3 3 1

给出n,输出它的前n行。

输入描述:

输入包含一个数n。

输出描述:

输出杨辉三角形的前n行。每一行从这一行的第一个数开始依次输出,中间使用一个空格分隔。请不要在前面和后面输出多余的空格。
示例1

输入

复制 4
4

输出

复制 1 1 1 1 2 1 1 3 3 1
1
1 1
1 2 1
1 3 3 1

说明

1 <= n <= 34。
代码如下:
#include<bits/stdc++.h>
using namespace std;
int main()
{
    long long n[40][40],y;
    cin>>y;
    for(int i=1;i<=y;i++)
        for(int j=1;j<=i;j++)
            if(j==1)
                n[i][j]=1;
            else if(i==j)
                n[i][j]=1;
            else
                n[i][j]=n[i-1][j]+n[i-1][j-1];
    for(int i=1;i<=y;i++)
    {
        for(int j=1;j<=i;j++)
        {
            cout<<n[i][j];
            if(j!=i)
                cout<<" ";
        }
        cout<<endl;
    }
    return 0;
}