Chuyển đến nội dung chính

Vẽ Tam Giác Pascal Trong C++

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

Bài đăng phổ biến từ blog này

Đề Thi HSG Tin Học Lớp 12 Tỉnh Lào Cai Năm 2025

Rate this post Dưới đây là Đề Thi HSG Tin Học Lớp 12 Tỉnh Lào Cai Năm 2025 Bạn đọc có thể share lời giải bên dưới comment bài viết. Tham khảo: TỔNG HỢP ĐỀ THI CHUYÊN TIN TẤT CẢ CÁC TRƯỜNG TRÊN TOÀN QUỐC TỔNG HỢP ĐỀ THI HỌC SINH GIỎI TIN HỌC LỚP 9 TOÀN QUỐC TỔNG HỢP ĐỀ THI HỌC SINH GIỎI TIN HỌC LỚP 12 TOÀN QUỐC KHÓA HỌC LẬP TRÌNH C++ KHÓA HỌC LẬP TRÌNH PYTHON  The post Đề Thi HSG Tin Học Lớp 12 Tỉnh Lào Cai Năm 2025 first appeared on Techacademy .

Cách Vẽ Hình Trong Scratch

Hãy cùng Techacademy tìm hiểu cách vẽ hình trong lập trình Scratch nhé! Tại đây bạn sẽ biết thêm nhiều điều thú vị và hấp dẫn về cách vẽ các loại hình trong Scratch. I. Cách Vẽ Hình Vuông Trong Scratch Trong bài viết này mình sẽ hướng dẫn các bạn cách vẽ hình vuông trong Scratch đồng thời sử dụng kĩ thuật quay hợp lý để nhân bản tạo thành những hình vẽ đẹp đã ra trong các kì thi tin học trẻ phần vẽ hình bằng Scratch. Hãy tham khảo với onthihsg ngay nhé. + Thủ tục con vẽ hình vuông trong Scratch Trước hết ta cùng xây dựng một mảnh ghép để vẽ hình vuông với tham số là cạnh của hình vuông như sau: Cách Vẽ Hình Vuông Trong Scratch Chỉ cần một vòng lặp lại 4 lần việc vẽ một cạnh và xoay 90 độ là xong, quá đơn giản phải không nào + Vẽ các hình phức tạp hơn từ hình vuông Bây giờ ta hãy phát triển để vẽ hai hình trong đề thi tin học trẻ Đông Triều năm 2019 nào Cách Vẽ Hình Vuông Trong Scratch Nhìn hình ta thấy hình tạo thành từ 5 hình vuông vì vậy ta sẽ gọi 5 lần thủ tục vẽ h...

How to Choose Term Paper Writing Service

When looking to employ term paper writers to you contador de palabras ingles r writing job on the internet there are certainly some important variables to check before employing them. As many have seen around the planet, an contador de palabras twitter effective author ought to have the ability to combine technical knowledge and outstanding writing ability with the right methodology and application. It is no good, using a writer who can only produce a well researched and concisely written composition. There are several points which should always be kept in mind before deciding on any writer. An individual must bear in mind that a writer is just as good as their past performance. Thus, assess their academic writing documents and also take a look at their freelance job portfolio. Assess how many times they’ve been cited or acknowledged for their excellent academic writing aid. Writers for academic and term papers all specialize in a specific area of academic essay writing solutions. ...