Cách vẽ tam giác pascal bằng code c++

3
6297
Cách vẽ tam giác pascal trong c++
Cách vẽ tam giác pascal trong c++

Bài toán: Nhập vào một số nguyên dương n. Hãy vẽ ra tam giác pascal với chiều cao n.

  • Input
  • Output

  •  

Ý tưởng vẽ tam giác pascal

tam giac pascal
Tam giác pascal

Từ hình ảnh trên ta thấy như sau:

  • Hàng thứ nhất chỉ có duy nhất một số 1. Đây chính là tổ hợp Cách vẽ tam giác pascal bằng code c++ 1
  • Hàng thứ hai có hai số 1. Đây chính là hai tổ hợp Cách vẽ tam giác pascal bằng code c++ 2
  • Hàng thứ ba sẽ là các số Cách vẽ tam giác pascal bằng code c++ 3
  • Vậy từ đây ta suy ra mỗi hàng là tất cả các tổ hợp của i ( với i chạy từ 0 đến n-1 ).

Nếu các bạn chưa biết tính tổ hợp thì có thể xem tại đây.

Với ý tưởng trên ta sẽ dùng hai vòng for lồng nhau để vẽ ra tam giác pascal.

  • Vòng for thứ nhất đại diện cho số dòng là i chạy từ 0 đến n-1
  • Vòng for thứ hai đại diên cho tổ hợp chập j của i phần tử ( với j chạy từ 0 đến i )

Code tham khảo cách vẽ tam giác pascal

Cùng xem chương trình dưới đây

Sau khi chạy chương trình trên ta có kết quả

Vậy là đã đúng với yêu cầu bài toán, nhưng các bạn có thấy nó khác với hình ảnh ở trên không ? Vậy thì chúng ta cùng cải thiện chương trình trên để nó vẽ ra một tam giác pascal đẹp hơn nhé !

Bạn có thấy hàng cuối cùng luôn sát với lề không ? Hàng trên thì lại bị thụt vào một khoảng trống so với hàng dưới.

Nếu hàng thứ n (hàng cuối cùng) có 0 khoảng trắng, thì hàng thứ n-1 sẽ có 1 khoảng trắng, tương tự cho các hàng khác. Vậy hàng đầu tiên sẽ có (n-1) khảng trắng phải không nào ?

Với ý tưởng trên ta có thể viết lại chương trình như sau

Sau khi chạy chương trình xong thì ta có kết quả sau

Bài viết của mình đến đây là kết thúc. Cám ơn các bạn đã theo dõi !

avatar
  Subscribe  
newest oldest most voted
Notify of
phan nhật đăng khoa
Guest
phan nhật đăng khoa

Anh cs thể vẽ tam giác pascal bằng phần mềm pascal dc ko???

Nguyễn Văn Hiếu
Admin
Nguyễn Văn Hiếu

Sorry bạn, mình không còn nhớ Pascal nữa

tinh
Guest
tinh

anh giải thích hàm c() cho em hiểu với