Cách vẽ tam giác pascal bằng code 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 
  • Hàng thứ hai có hai số 1. Đây chính là hai tổ hợp 
  • Hàng thứ ba sẽ là các số 
  • 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 !

3 COMMENTS

LEAVE A REPLY

Please enter your comment!
Please enter your name here