题解 | 阶乘
#include <bits/stdc++.h>
using namespace std;
int main() {
int n;
while(cin>>n){
long long a[50];
a[0]=1;
for(int i=1;i<=20;i++)a[i]=a[i-1]*i;
while(n--){
int x;
cin>>x;
cout<<a[x]<<endl;
}
}
}
20位以内用longlong就可以了,这里顺手写了个简单的dp
查看14道真题和解析
