题目
输出杨辉三角前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;
}