用动态规划的思想来做阶乘,避免重复计算
#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; }
#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; }