题解:洛谷 P5732 【深基5.习7】杨辉三角
【题目来源】
【题目描述】
给出 \(n(1\le n\le 20)\),输出杨辉三角的前 \(n\) 行。
如果你不知道什么是杨辉三角,可以观察样例找找规律。
【输入】
无
【输出】
无
【输入样例】
6
【输出样例】
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
【算法标签】
《洛谷 P5732 杨辉三角》 #模拟#
【代码详解】
#include <bits/stdc++.h> // 包含标准库头文件(万能头文件)
using namespace std; // 使用标准命名空间
int main()
{
int n; // 定义变量:杨辉三角的行数
int a[25][25] = {0}; // 定义二维数组:存储杨辉三角,初始化为0
cin >> n; // 输入杨辉三角的行数
// 创建杨辉三角
for (int i = 1; i <= n; i++)
{
a[i][1] = 1; // 每行的第一个元素为1
// 计算每行中间的元素(从第二个到第i个)
for (int j = 2; j <= i; j++)
{
// 杨辉三角的性质:当前元素等于上方元素加上左上方元素
a[i][j] = a[i-1][j] + a[i-1][j-1];
}
}
// 输出杨辉三角
for (int i = 1; i <= n; i++)
{
// 输出每行的元素(第i行有i个元素)
for (int j = 1; j <= i; j++)
{
cout << a[i][j] << " "; // 输出当前元素加空格
}
cout << endl; // 每行结束换行
}
return 0; // 程序正常结束
}
【运行结果】
6
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
浙公网安备 33010602011771号