用动态规划的思想来做阶乘,避免重复计算


#include<iostream>

using namespace std;

int main(){
    long long dp[21];
    dp[0] = 1;
    dp[1] = 1;
    for(int i=2;i<=20;i++){
        dp[i] = dp[i-1]*i;
    }
    
    int n,t;
    while(cin>>n){
        for(int i=0;i<n;i++){
            cin>>t;
            cout<<dp[t]<<endl;
        }
    }
    
    
    return 0;
}