题解 | n的阶乘
#include <bits/stdc++.h>
using namespace std;
long long func(int n){
if(n==0)return 1;
else return n*func(n-1);
}
int main(){
//直接按照上面的可以得到,但是这里不用,顺便提供动态规划的解法
int n;
while(cin>>n){
long long a[n];
a[0]=1;
for(int i=1;i<n;i++){
a[i]=(i+1)*a[i-1];
}
cout<<a[n-1]<<endl;
}
}
两个解法,递归或者动态规划,个人喜欢动态规划,但是递归我也写了
查看6道真题和解析