Đề Bài: Nhập vào một số nguyên dương n. Bằng ngôn ngữ lập trình C++, hãy vẽ ra tam giác pascal với chiều cao n.
Input:
3
Output:
1 1 1 1 2 1
Cách 1: Sử dụng mảng 2 chiều để in và lưu trữ tam giác pascal
Trong cách này, chúng ta sử dụng một mảng hai chiều để lưu trữ các giá trị của Tam giác Pascal và sau đó in ra các giá trị đó.
- Đầu tiên, chúng ta khai báo một mảng hai chiều có kích thước n x n để lưu trữ các giá trị của Tam giác Pascal.
- Tiếp theo, chúng ta sử dụng hai vòng lặp lồng nhau để tính và gán giá trị cho mỗi phần tử của mảng. Chúng ta bắt đầu từ hàng đầu tiên và cột đầu tiên của mảng và dùng công thức pascal[i][j] = pascal[i – 1][j – 1] + pascal[i – 1][j] để tính giá trị của mỗi phần tử.
- Sau khi tính toán xong, chúng ta sử dụng một vòng lặp khác để in ra các giá trị của mảng Tam giác Pascal.
#include <iostream> using namespace std; void displayPascalTriangle(int n) { int pascal[n][n]; // Tạo tam giác Pascal for (int i = 0; i < n; i++) { for (int j = 0; j <= i; j++) { if (j == 0 || j == i) { pascal[i][j] = 1; } else { pascal[i][j] = pascal[i - 1][j - 1] + pascal[i - 1][j]; } } } // In tam giác Pascal for (int i = 0; i < n; i++) { for (int j = 0; j <= i; j++) { cout << pascal[i][j] << " "; } cout << endl; } } int main() { int n; cout << "Nhap so hang cua tam giac Pascal: "; cin >> n; displayPascalTriangle(n); return 0; }
Cách 2: Sử dụng đệ quy để tính giá trị của từng phần tử trong Tam giác Pascal.
Trong cách này, chúng ta sử dụng công thức tổ hợp để tính giá trị của từng phần tử trong Tam giác Pascal và sau đó in ra các giá trị đó.
- Chúng ta định nghĩa một hàm đệ quy calculatePascalValue(n, k) để tính giá trị của phần tử tại vị trí (n, k) trong Tam giác Pascal.
Trong hàm đệ quy, chúng ta sử dụng công thức calculatePascalValue(n – 1, k – 1) + calculatePascalValue(n – 1, k) để tính giá trị của phần tử đó bằng cách tính tổng của hai phần tử ở hàng trên đó. - Sau đó, chúng ta sử dụng hai vòng lặp lồng nhau để duyệt qua các hàng và cột của Tam giác Pascal và in ra giá trị của từng phần tử.
#include <iostream> using namespace std; int calculatePascalValue(int n, int k) { if (k == 0 || k == n) { return 1; } else { return calculatePascalValue(n - 1, k - 1) + calculatePascalValue(n - 1, k); } } void displayPascalTriangle(int n) { for (int i = 0; i < n; i++) { for (int j = 0; j <= i; j++) { cout << calculatePascalValue(i, j) << " "; } cout << endl; } } int main() { int n; cout << "Nhap so hang cua tam giac Pascal: "; cin >> n; displayPascalTriangle(n); return 0; }
Cách 3: Sử dụng các ký hiệu đặc biệt để vẽ Tam giác Pascal.
Chúng ta sử dụng một biến coef để tính toán giá trị của mỗi phần tử trong Tam giác Pascal.
- Đầu tiên, chúng ta in ra giá trị 1 cho phần tử đầu tiên của mỗi hàng.
- Sau đó, chúng ta sử dụng công thức coef = coef * (i – j + 1) / j để tính toán giá trị của các phần tử tiếp theo của hàng hiện tại dựa trên giá trị của phần tử trước đó.
- Cuối cùng, chúng ta in ra các giá trị đã tính được.
#include <iostream> using namespace std; void displayPascalTriangle(int n) { int coef = 1; for (int i = 0; i < n; i++) { for (int j = 0; j <= i; j++) { if (j == 0 || i == 0) { coef = 1; } else { coef = coef * (i - j + 1) / j; } cout << coef << " "; } cout << endl; } } int main() { int n; cout << "Nhap so hang cua tam giac Pascal: "; cin >> n; displayPascalTriangle(n); return 0; }
The post Vẽ Tam Giác Pascal Trong C++ first appeared on Techacademy.
Nhận xét
Đăng nhận xét