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

Vẽ Tam Giác Trong C++

Vẽ tam giác trong C++ là một trong những bài tập lập trình về C++ sử dụng vòng lặp khá hay giúp các bạn luyện tư duy code cũng như cách sử dụng vòng lặp. Dưới đây là một số lời giải các bài tập vẽ tam giác trong C++ I. Vẽ Tam Giác Cân Trong C++ Viết chương trình C++ sử dụng ký tự * để vẽ tam giác vuông cân trong C++.Chúng ta sử dụng hai vòng lặp lồng nhau để giải bài toán này. Lời Giải: #include <stdio.h> #include <stdlib.h> int main() { int n; int q = 0; printf("Chuong trinh nay se in ra tam giac can\n"); printf("Nhap chieu cao tam giac cua ban: \n"); scanf("%d",&n); while (n > 0) { for (int i = 1; i<n; i++) printf("%c", ' '); for (int k = 0; k <= q; k ++) printf("%c", '*'); n -- ; q += 2 ; printf("\n"); } return 0; } II. Vẽ Hình Tam Giác Trong C++ Viết một chương trình in ra hình

Nên học C hay C++ ? Lựa chọn nào tốt hơn

Bạn đang mới học lập trình và đang phân vân nên học lập trình C hay C++ , bài viết dưới đây của Tehcacademy.edu.vn sẽ phần nào giải đáp cho bạn thắc mắc trên.  I. Nên học ngôn ngữ lập trình C hay C++ Nếu bạn đang phân vẫn lựa chọn nên học C hay C++ thì dưới đây là một số ưu điểm và nhược điểm của ngôn ngữ lập trình C và C++. Dựa trên đánh giá này, giúp bạn lựa chọn nên học lập trình C hay C++ 1, Ưu điểm và nhược điểm của ngôn ngữ lập trình C, C++ Dưới đây là một số ưu điểm, nhược điểm của ngôn ngữ c và c++: C, C++ đều có những ưu điểm và nhược điểm riêng + Ngôn ngữ lập trình C Ưu điểm : + Hiệu suất cao Mỗi một ngôn ngữ đều dựa vào khả năng sử dụng bộ nhớ để đánh giá hiệu suất. Đây chính là ưu điểm đầu tiên của C, nó có thể chạy mượt mà trên những hệ thống giới hạn về dung lượng, lý do là vì ngay từ đầu C được thiết kế với mục đích thay thế ASM trong các hệ thống bộ nhớ cực hạn chế thập niên 1960. + Tính linh hoạt Lập trình C có 2 tính linh hoạt và là 2 ưu điểm nổi bật củ

Tìm Phần Tử Xuất Hiện Nhiều Nhất Trong Mảng C++

Tìm phần tử xuất hiện nhiều nhất trong mảng là một vấn đề phổ biến trong lập trình C++. Để giải quyết vấn đề này, bạn có thể sử dụng một số phương pháp khác nhau như sử dụng bảng băm (hash table), sắp xếp mảng và duyệt qua mảng. Cùng techacademy đi tìm hiểu chi tiết chủ đề này ngay bài viết bên dưới đây nhé. I. Tìm Phần Tử Xuất Hiện Nhiều Nhất Trong Mảng C++ Trong lập trình C++, việc tìm ra phần tử xuất hiện nhiều nhất trong một mảng là một vấn đề phổ biến và quan trọng. Điều này thường được thực hiện thông qua việc sử dụng các thuật toán và cấu trúc dữ liệu phù hợp. Chúng ta sẽ thảo luận về cách thực hiện điều này một cách hiệu quả trong ngôn ngữ lập trình C++. 1. Sử dụng Bảng Băm (Hash Map): Một cách phổ biến để giải quyết vấn đề này là sử dụng bảng băm. Chúng ta có thể duyệt qua mảng, đếm số lần xuất hiện của mỗi phần tử và lưu trữ chúng trong một bảng băm. 2. Sắp Xếp và Đếm: Một cách khác là sắp xếp mảng và sau đó duyệt qua mảng để đếm số lần xuất hiện của mỗi phần tử liên ti