Đề 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;
}