Yêu cầu: Hãy tính n! bằng phương pháp quy hoạch động (lập bảng phương án).
Dữ liệu vào: Ghi trong file văn bản GT.INP có cấu trúc như sau:
- Dòng 1: Ghi số nguyên dương n.
Dữ liệu ra: Ghi ra file văn bản GT.OUT theo cấu trúc như sau:
- Dòng 1: Ghi giá trị tính được của n!
Ví dụ:
GT.INP |
GT.OUT |
3 |
6 |
Thuật toán:
Gọi GT[i] là giá trị của i! (0 <= i <= 13)
Ta có công thức quy hoạch động như sau:
GT[i] := GT[i-1]*i;
Như vậy, việc tính n! sẽ được thực hiện bằng vòng lặp:
GT[0] :=1;
For i:=1 to n do
GT[i] := GT[i-1]*i;
Kết quả: giá trị của n! nằm trong phần tử GT[n].