题解:洛谷 P5732 【深基5.习7】杨辉三角

【题目来源】

洛谷: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 
posted @ 2026-02-16 15:50  团爸讲算法  阅读(1)  评论(0)    收藏  举报