输出杨辉三角的前N行

题目

输出杨辉三角前N行。

解题思路

杨辉三角两侧是1,先进行初始化,再递推出其他数即可。

#include <bits/stdc++.h>
using namespace std;

int dp[1010][1010];

void init()
{
    for (int i = 1; i <= 1000; i++)
        dp[i][1] = dp[i][i] = 1;
    for (int i = 2; i <= 1000; i++)
        for (int j = 2; j < i; j++)
            dp[i][j] = dp[i - 1][j - 1] + dp[i - 1][j];
}
void out(int n)
{
    for (int i = 1; i <= n; i++)
    {
        for (int j = 1; j <= i; j++)
            cout << dp[i][j] << ' ';
        cout << endl;
    }
}
int main()
{
    init();
    int n;
    cin >> n;
    out(n);
    return 0;
}

版权声明:本文为hesorchen原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。