Computer >> Máy Tính >  >> Lập trình >> C ++

Tam giác Pascal trong C ++

Pascal’s tam giác là một mảng các hệ số nhị thức. Hàng trên cùng được đánh số là n =0 và trong mỗi hàng được đánh số từ đầu bên trái với k =0. Mỗi số được tìm thấy bằng cách thêm hai số nằm ở hàng trước và chính xác trên cùng của ô hiện tại. cũng được hình thành bằng cách tìm (𝑛𝑘) cho số hàng n và số cột k.

Giả sử đầu vào là 10, thì đầu ra sẽ như thế nào -

1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 1 7 21 35 35 21 7 1 1 8 28 56 70 56 28 8 1 1 9 36 84 126 126 84 36 9 1

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau.

  • for i:=0 to n
    • for j =0 to n - i - 2, in ra khoảng đen
    • for j:=0 to i, thực hiện nCr (i, j)

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

Ví dụ (C ++)

 #include  #include 
 using namespace std; long fact (long n) {int i, fact =1; for (i =n; i> 1; i--) fact * =i; return fact; // giai thừa của một số đã cho} long nCr (long n, long r) {long number =1, i; for (i =n; i> r; i--) số * =i; return long (num / fact (n-r)); // tạo kết quả của nCr} void genPascalsTriangle (long n) {for (int i =0; i > n; genPascalsTriangle (n);} 

Đầu vào

 10 

Đầu ra

1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 1 7 21 35 35 21 7 1 1 8 28 56 70 56 28 8 1 1 9 36 84 126 126 84 36 9 1