Giai thừa
Xem dạng PDF        
            Gửi bài giải
        
    
        
        
    
    
    
    
    
        
        
                
        
            
        
        Điểm:
        
                5,00        
    
    
        Giới hạn thời gian:
        2.0s
    
    
        Giới hạn bộ nhớ:
        256M
    
    
            Input:
            stdin
        
        
            Output:
            stdout
        
    
                    Dạng bài                
                
        
                Ngôn ngữ cho phép
            
            
C++            
        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].
Bình luận