思路
因为 n 不超过 20,那么先求出前 20 的阶乘,加快一下计算。
#include<iostream> #include<vector> using namespace std; int main(){ vector<long long> dp(21, 1); for(int i = 2; i <= 20; i ++){ dp[i] = dp[i - 1] * i; } int n; while(cin >> n){ cout << dp[n] << endl; } }
因为 n 不超过 20,那么先求出前 20 的阶乘,加快一下计算。
#include<iostream> #include<vector> using namespace std; int main(){ vector<long long> dp(21, 1); for(int i = 2; i <= 20; i ++){ dp[i] = dp[i - 1] * i; } int n; while(cin >> n){ cout << dp[n] << endl; } }