杨辉三角

10 分钟

杨辉三角像一张家谱:每个数等于它上面左右两位「父母」之和,两条斜边永远是 1。我们用二维数组,一行一行往下推。

#include <iostream>
using namespace std;
int main() {
    int a[6][6] = {0};
    for (int i = 0; i < 6; i++) {
        a[i][0] = 1;                          // 每行开头是 1
        for (int j = 1; j <= i; j++)
            a[i][j] = a[i-1][j-1] + a[i-1][j]; // 上面两数之和
        for (int j = 0; j <= i; j++)
            cout << a[i][j] << " ";
        cout << endl;
    }
    return 0;
}

第 4 行(从第 0 行数起)会输出 1 4 6 4 1。要注意:推第 i 行要用到第 i-1 行,所以第 0 行必须先单独设好,否则上一行全是 0,整个三角就塌了。

小纸条

第 4 行(从第 0 行数)是什么?

登录 后可看答案

杨辉三角 · C++ 入门 · op599 课程