使用vector储存已经计算过的结果,避免重复计算
#include<iostream>
#include<iomanip>
#include<vector>
using namespace std;
int main(){
int n;
vector<double>nums(1,1);
while(cin>>n){
while(n>=nums.size()){
double temp=nums[nums.size()-1]*(nums.size()+1);
nums.push_back(temp);
}
cout << fixed << setprecision(0)<<nums[n-1]<<endl;//取消科学计数法输出
}
return 0;
}