Blaise Pascal là một nhà toán học người Pháp. Mặc dù tam giác Pascal được đặt theo tên của ông, một người sống ở thế kỉ XVII, nhưng thực tế nó đã được nghiên cứu từ rất lâu về trước

Blaise Pascal là một nhà toán học người Pháp. Mặc dù tam giác Pascal được đặt theo tên của ông, một người sống ở thế kỉ XVII, nhưng thực tế nó đã được nghiên cứu từ rất lâu về trước, ở nhiều quốc gia khác nhau. Bằng tam giác này, em có được hệ số của các hạng tử trong nhị thức (a + b)" (nằm trên dòng thứ 7 của tam giác).

Công thức của tam giác này rất đơn giản: C(i, j) = C(i – 1,j) + C − 1, j − 1) với C(i, j) là kí hiệu cho ô ở dòng i, cột j (đây cũng là tổ hợp số cách chọn ra j phần tử từ một tập hợp có i phần tử).

Theo định nghĩa, ta cũng có C(i, 0) = C(i, i) = I.

Hãy quan sát các dòng 0, 1, 2, 3, 4, 5 của tam giác Pascal:

Blaise Pascal là một nhà toán học người Pháp. Mặc dù tam giác Pascal được đặt theo tên của ông, một người sống ở thế kỉ XVII, nhưng thực tế nó đã được nghiên cứu từ rất lâu về trước (ảnh 1)

Yêu cầu: Nhập vào số nguyên n, hãy in ra dòng thứ n của tam giác Pascal. Dữ liệu: Nhập từ thiết bị vào chuẩn, một dòng duy nhất chứa số nguyên n. Két quả: Hiển thị ở thiết bị ra chuẩn, chứa n + 1 số nguyên là dòng thứ n của tam giác Pascal.

Blaise Pascal là một nhà toán học người Pháp. Mặc dù tam giác Pascal được đặt theo tên của ông, một người sống ở thế kỉ XVII, nhưng thực tế nó đã được nghiên cứu từ rất lâu về trước (ảnh 2)

Trả lời

- Quan sát công thức, ta thấy C(i, j) phụ thuộc vào hai ô ở dòng i – 1. Vậy em có thể tính từng dòng một của tam giác và thêm dần vào mảng hai chiều C. - Quan sát đoạn chương trình ở Cách 1, ta thấy C được khai báo là kiểu danh sách (dấu []), nên các phần tử không cần phải giống nhau về kiểu dữ liệu. Em có thể thấy các phần tử của C (các dòng của bảng) có kích thước khác nhau (dòng thứ i có chứa đúng i số).

Một hướng làm khác giúp tiết kiệm bộ nhớ hơn, đó là sử dụng hai mảng (n + 1)(n+2) một chiều thay vì dùng cả bảng có kích thước vào khoảng 2 Làm được như vậy vì trong công thức ta chỉ cần quan tâm tới dòng i − 1 và dòng i.

Chương trình mẫu:

Cách 1:

Blaise Pascal là một nhà toán học người Pháp. Mặc dù tam giác Pascal được đặt theo tên của ông, một người sống ở thế kỉ XVII, nhưng thực tế nó đã được nghiên cứu từ rất lâu về trước (ảnh 3)

Cách 2:

Blaise Pascal là một nhà toán học người Pháp. Mặc dù tam giác Pascal được đặt theo tên của ông, một người sống ở thế kỉ XVII, nhưng thực tế nó đã được nghiên cứu từ rất lâu về trước (ảnh 4)

Câu hỏi cùng chủ đề

Xem tất cả