题解 | 阶乘
#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
#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
相关推荐