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;
}
这样其实类似循环求法。