2021.11.3 又是一道类似前几道博客里的递归题 不过这道题普通递归会报错 因为longlong的取值范围太大了 -922 3372 0368 5477 5808 ~ 922 3372 0368 5477 5807 采用自底向上的方法:

using namespace std;
long long  n;
const int N = 1e9+7;
long long a = 1;
void recursion(long long m){
    if(m >n) return ;
    a= m*a;
    return recursion(m+1);
}
int main(){
    cin>>n;
    recursion(1);
    cout << a;
    return 0;
}

这样其实类似循环求法。