Hướng dẫn pascal triangle using recursion in c++ - tam giác pascal sử dụng đệ quy trong c++
Có một số vấn đề với mã của bạn như điều kiện chấm dứt đệ quy: Show
Điều này không đúng và dẫn đến việc tái sử dụng chức năng mãi mãi và cuối cùng chương trình sẽ chấm dứt bất thường. Hơn nữa, nếu bạn sửa chữa điều kiện này, bạn sẽ không lấy hình tam giác Pascal làm đầu ra vì cả hai vòng ____99 trong 0 đều khởi tạo biến vòng lặp với 1 sẽ ăn hết cột đầu tiên của mỗi hàng hình tam giác Pascal.Đối với điều kiện chấm dứt của chức năng đệ quy 2 -Trong hàm 3, 4 đại diện cho hàng trong khi 5 biểu thị cột trong hàng cụ thể đó và hàm 6 được cho là để tính toán phần tử tại một vị trí cụ thể.Một vài điểm, trong Tam giác Pascal:
Vì vậy, tôi có thể nói -
có thể là điều kiện chấm dứt của chức năng đệ quy. Chung, chương trình của bạn sẽ là một cái gì đó như thế này:
Hi vọng điêu nay co ich. Tam giác Pascal là một mảng hình tam giác gồm các hệ số nhị thức. Viết một hàm lấy giá trị số nguyên n làm đầu vào và in đầu tiên n của tam giác pascal. Sau đây là 6 hàng đầu tiên của hình tam giác Pascal. 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 Phương pháp 1 (O (N^3) Độ phức tạp thời gian) & NBSP; Số lượng mục nhập trong mỗi dòng bằng số dòng. Ví dụ, dòng đầu tiên có 1 1, dòng thứ hai có 1 1 1, dòng thứ ba có dòng 1 1 1 1, .. v.v. Mỗi mục trong một dòng là giá trị của một hệ số nhị thức. Giá trị của mục nhập ith trong dòng dòng là c (dòng, i). Giá trị có thể được tính bằng cách sử dụng công thức sau. & Nbsp; C(line, i) = line! / ( (line-i)! * i! ) Một phương pháp đơn giản là chạy hai vòng và tính giá trị của hệ số nhị thức trong vòng lặp bên trong. & NBSP; C++ 8 9 0 1 2 3 2 5 2 7 8 9 2 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 11 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 12 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 13 for 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 15 2 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 17 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 13 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 12 C(line, i) = line! / ( (line-i)! * i! )0____9 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 15 2 C(line, i) = line! / ( (line-i)! * i! )4 C(line, i) = line! / ( (line-i)! * i! )5 C(line, i) = line! / ( (line-i)! * i! )6 C(line, i) = line! / ( (line-i)! * i! )7 C(line, i) = line! / ( (line-i)! * i! )8 C(line, i) = line! / ( (line-i)! * i! )0 C(line, i) = line! / ( (line-i)! * i! )6 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 11 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 12 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 13 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 14 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 14 2 3 2 5 2 1 1 1 1 2 1 1 3 3 1 1 4 6 4 11 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 12 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 13 2 1 1 1 1 2 1 1 3 3 1 1 4 6 4 15 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 13 1 1 1 1 2 1 1 3 3 1 1 4 6 4 17 1 1 1 1 2 1 1 3 3 1 1 4 6 4 18 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 13 C(line, i) = line! / ( (line-i)! * i! ) C(line, i-1) = line! / ( (line - i + 1)! * (i-1)! ) We can derive following expression from above two expressions. C(line, i) = C(line, i-1) * (line - i + 1) / i So C(line, i) can be calculated from C(line, i-1) in O(1) time0 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 13 for 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 15 2 C(line, i) = line! / ( (line-i)! * i! ) C(line, i-1) = line! / ( (line - i + 1)! * (i-1)! ) We can derive following expression from above two expressions. C(line, i) = C(line, i-1) * (line - i + 1) / i So C(line, i) can be calculated from C(line, i-1) in O(1) time5 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 13 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 12 C(line, i) = line! / ( (line-i)! * i! )0 C(line, i) = line! / ( (line-i)! * i! ) C(line, i-1) = line! / ( (line - i + 1)! * (i-1)! ) We can derive following expression from above two expressions. C(line, i) = C(line, i-1) * (line - i + 1) / i So C(line, i) can be calculated from C(line, i-1) in O(1) time9 C(line, i) = line! / ( (line-i)! * i! )0 1 1 1 1 2 1 1 3 3 1 1 4 6 4 11 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 13 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 14 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 13 1 1 1 1 2 1 1 3 3 1 1 4 6 4 15 1 1 1 1 2 1 1 3 3 1 1 4 6 4 16 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 14 2 01 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 12 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 13 2 for 31 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 13 for 51 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 13 1 1 1 1 2 1 1 3 3 1 1 4 6 4 15 for 81 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 14 C 00 2 3 2 5 2 7 8 9 2 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 11 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 12 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 13 for 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 15 2 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 17 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 13 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 12 C(line, i) = line! / ( (line-i)! * i! )0____9 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 15 2 C(line, i) = line! / ( (line-i)! * i! )4 C(line, i) = line! / ( (line-i)! * i! )5 251 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 15 27 28 29 30C(line, i) = line! / ( (line-i)! * i! )0 251 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 15 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 11 351 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 13 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 14 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 14 2 3 2 5 2 1 1 1 1 2 1 1 3 3 1 1 4 6 4 11 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 12 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 13 2 1 1 1 1 2 1 1 3 3 1 1 4 6 4 15 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 13 1 1 1 1 2 1 1 3 3 1 1 4 6 4 17 1 1 1 1 2 1 1 3 3 1 1 4 6 4 18 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 13 C(line, i) = line! / ( (line-i)! * i! ) C(line, i-1) = line! / ( (line - i + 1)! * (i-1)! ) We can derive following expression from above two expressions. C(line, i) = C(line, i-1) * (line - i + 1) / i So C(line, i) can be calculated from C(line, i-1) in O(1) time0 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 13 for 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 15 2 C(line, i) = line! / ( (line-i)! * i! ) C(line, i-1) = line! / ( (line - i + 1)! * (i-1)! ) We can derive following expression from above two expressions. C(line, i) = C(line, i-1) * (line - i + 1) / i So C(line, i) can be calculated from C(line, i-1) in O(1) time5 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 13 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 12 C(line, i) = line! / ( (line-i)! * i! )0 C(line, i) = line! / ( (line-i)! * i! ) C(line, i-1) = line! / ( (line - i + 1)! * (i-1)! ) We can derive following expression from above two expressions. C(line, i) = C(line, i-1) * (line - i + 1) / i So C(line, i) can be calculated from C(line, i-1) in O(1) time9 C(line, i) = line! / ( (line-i)! * i! )0 1 1 1 1 2 1 1 3 3 1 1 4 6 4 11 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 13 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 14 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 13 1 1 1 1 2 1 1 3 3 1 1 4 6 4 15 1 1 1 1 2 1 1 3 3 1 1 4 6 4 16 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 14 2 01 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 12 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 13 2 for 31 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 13 for 51 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 13 1 1 1 1 2 1 1 3 3 1 1 4 6 4 15 for 81 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 14 Java 83 84 85 861 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 13 88 8 9 2 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 11 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 13 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 12 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 13 for 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 15 2 99 00 011 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 13 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 12 C(line, i) = line! / ( (line-i)! * i! )0 for 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 15 2 08 00 10C(line, i) = line! / ( (line-i)! * i! )0 12 13 14C(line, i) = line! / ( (line-i)! * i! )7 35C(line, i) = line! / ( (line-i)! * i! )0 181 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 13 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 14 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 13 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 14 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 13 88 2 3 2 5 2 1 1 1 1 2 1 1 3 3 1 1 4 6 4 11 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 13 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 12 C(line, i) = line! / ( (line-i)! * i! )0 2 35 11 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 12 C(line, i) = line! / ( (line-i)! * i! )0 1 1 1 1 2 1 1 3 3 1 1 4 6 4 17 1 1 1 1 2 1 1 3 3 1 1 4 6 4 18 C(line, i) = line! / ( (line-i)! * i! )0 C(line, i) = line! / ( (line-i)! * i! ) C(line, i-1) = line! / ( (line - i + 1)! * (i-1)! ) We can derive following expression from above two expressions. C(line, i) = C(line, i-1) * (line - i + 1) / i So C(line, i) can be calculated from C(line, i-1) in O(1) time0 C(line, i) = line! / ( (line-i)! * i! )0 for 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 15 2 08 00 49C(line, i) = line! / ( (line-i)! * i! )0 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 12 C(line, i) = line! / ( (line-i)! * i! )5 C(line, i) = line! / ( (line-i)! * i! ) C(line, i-1) = line! / ( (line - i + 1)! * (i-1)! ) We can derive following expression from above two expressions. C(line, i) = C(line, i-1) * (line - i + 1) / i So C(line, i) can be calculated from C(line, i-1) in O(1) time9 C(line, i) = line! / ( (line-i)! * i! )5 55 1 35C(line, i) = line! / ( (line-i)! * i! )0 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 14 C(line, i) = line! / ( (line-i)! * i! )0 1 1 1 1 2 1 1 3 3 1 1 4 6 4 15 1 1 1 1 2 1 1 3 3 1 1 4 6 4 16 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 13 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 14 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 13 66 88 8 691 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 13 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 12 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 13 2 74 751 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 12 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 13 for 51 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 13 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 14 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 14 Python3 82 831 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 13 for 86 87 881 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 15 00 91C(line, i) = line! / ( (line-i)! * i! )0 for 94 87C(line, i) = line! / ( (line-i)! * i! )5 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 104 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 105 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 106 C(line, i) = line! / ( (line-i)! * i! )7 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 108 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 109 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 110 C(line, i) = line! / ( (line-i)! * i! )0 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 104 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 113 82 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 115 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 13 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 117 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 109 11 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 13 1 1 1 1 2 1 1 3 3 1 1 4 6 4 17 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1222 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 123 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 124 C(line, i) = line! / ( (line-i)! * i! )0 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 126 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 109 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 128 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 123 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 130 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 13 for 94 87C(line, i) = line! / ( (line-i)! * i! )0 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 117 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 109 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 117 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 143 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 144 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 123 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 146 C(line, i) = line! / ( (line-i)! * i! )0 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 117 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 109 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 117 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 151 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 151 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 153 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 100 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 13 1 1 1 1 2 1 1 3 3 1 1 4 6 4 15 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 159 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 128 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 109 751 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 163 C# 9 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 165 85 861 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 13 88 8 9 2 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 11 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 13 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 12 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 13 for 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 15 2 99 00 01C(line, i) = line! / ( (line-i)! * i! )0 for 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 15 2 08 00 101 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 13 88 2 3 2 5 2 1 1 1 1 2 1 1 3 3 1 1 4 6 4 11 C(line, i) = line! / ( (line-i)! * i! )0 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 189 13 14C(line, i) = line! / ( (line-i)! * i! )7 35C(line, i) = line! / ( (line-i)! * i! )0 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 195 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 13 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 14 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 13 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 14 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 13 88 2 3 2 5 2 1 1 1 1 2 1 1 3 3 1 1 4 6 4 11 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 13 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 12 C(line, i) = line! / ( (line-i)! * i! )0 2 35 11 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 12 C(line, i) = line! / ( (line-i)! * i! )0 1 1 1 1 2 1 1 3 3 1 1 4 6 4 17 1 1 1 1 2 1 1 3 3 1 1 4 6 4 18 C(line, i) = line! / ( (line-i)! * i! )0 C(line, i) = line! / ( (line-i)! * i! ) C(line, i-1) = line! / ( (line - i + 1)! * (i-1)! ) We can derive following expression from above two expressions. C(line, i) = C(line, i-1) * (line - i + 1) / i So C(line, i) can be calculated from C(line, i-1) in O(1) time0 C(line, i) = line! / ( (line-i)! * i! )0 for 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 15 2 08 00 49C(line, i) = line! / ( (line-i)! * i! )0 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 12 C(line, i) = line! / ( (line-i)! * i! )5 C(line, i) = line! / ( (line-i)! * i! ) C(line, i-1) = line! / ( (line - i + 1)! * (i-1)! ) We can derive following expression from above two expressions. C(line, i) = C(line, i-1) * (line - i + 1) / i So C(line, i) can be calculated from C(line, i-1) in O(1) time9 C(line, i) = line! / ( (line-i)! * i! )5 1 1 1 1 2 1 1 3 3 1 1 4 6 4 11 C(line, i) = line! / ( (line-i)! * i! )0 1 1 1 1 2 1 1 3 3 1 1 4 6 4 15 1 1 1 1 2 1 1 3 3 1 1 4 6 4 16 C(line, i) = line! / ( (line-i)! * i! )0 1 1 1 1 2 1 1 3 3 1 1 4 6 4 15 1 1 1 1 2 1 1 3 3 1 1 4 6 4 16 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 13 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 14 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 13 66 88 8 691 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 13 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 12 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 13 2 for 31 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 13 for 51 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 13 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 14 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 14 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 31 1 1 1 2 1 1 3 3 1 1 4 6 4 1 5 for8C(line, i) = line! / ( (line-i)! * i! )51 Java 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 12 83 84 85 861 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 13 88 8 9 2 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 11 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 13 for 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 15 2 99 00 011 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 13 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 12 C(line, i) = line! / ( (line-i)! * i! )0 for 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 15 2 08 00 101 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 13 88 2 3 2 5 2 1 1 1 1 2 1 1 3 3 1 1 4 6 4 11 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 13 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 14 C(line, i) = line! / ( (line-i)! * i! )0 2 35 11 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 12 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 14 C(line, i) = line! / ( (line-i)! * i! )0 1 1 1 1 2 1 1 3 3 1 1 4 6 4 17 1 1 1 1 2 1 1 3 3 1 1 4 6 4 18 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 12 C(line, i) = line! / ( (line-i)! * i! )0 for 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 15 2 08 00 491 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 13 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 12 C(line, i) = line! / ( (line-i)! * i! )0 1 1 1 1 2 1 1 3 3 1 1 4 6 4 15 1 1 1 1 2 1 1 3 3 1 1 4 6 4 16 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 13 66 88 8 691 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 13 2 74 751 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 12 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 13 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 14 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 14 C(line, i) = line! / ( (line-i)! * i! )54 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 156 9C(line, i) = line! / ( (line-i)! * i! )54 351 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 160 #include |