Tam giác Pascal

Đề bài

Cho một số nguyên numRows, hãy trả về numRows hàng đầu tiên của tam giác Pascal.
Trong tam giác Pascal, mỗi số là tổng của hai số trực tiếp ở phía trên nó như được hiển thị:

Ví dụ 1:

Đầu vào: numRows = 5
Đầu ra: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]

Ví dụ 2:

Đầu vào: numRows = 1
Đầu ra: [[1]]

Ràng buộc:
1 <= numRows <= 30

Cách làm

#include <iostream>
using namespace std;

int main() {
    int numRows;
    cout << "Nhap so hang cua tam giac Pascal: ";
    cin >> numRows;

    int tamgiacPascal[30][30] = {0}; // mang hai chieu de luu tam giac Pascal

    for (int i = 0; i < numRows; i++) {
        tamgiacPascal[i][0] = 1; // phan tu dau tien cua moi hang la 1
        for (int j = 1; j <= i; j++) {
            tamgiacPascal[i][j] = tamgiacPascal[i-1][j-1] + tamgiacPascal[i-1][j]; // moi so la tong cua hai so ben tren
        }
    }

    // in tam giac Pascal
    for (int i = 0; i < numRows; i++) {
        for (int j = 0; j <= i; j++) {
            cout << tamgiacPascal[i][j] << " ";
        }
        cout << endl;
    }

    return 0;
}

Bình luận