思路一
运用迭代的方法(人话就是循环):
题目已经解释了阶乘,只需从1举到n然后全部相乘即
(我是蒟蒻不知写错没有,有大佬看看嘛QWQ)
代码:
#include <bits/stdc++.h>
using namespace std;
int main(){
int n,ans = 1;
cin >>n;
for(int i = 1;i<=n;i++)
ans *= i;
cout <<ans;
return 0;
}
思路二
递归思路,我们知道
但我们知道,递归需要有中指终止条件,终止条件是什么捏?没错,就是时,就可以直接return 1啦!把化成一个一个(哪里都有homo!!!)子问题,问题就好解决多了。
代码:
#include <bits/stdc++.h>
using namespace std;
int fun(int n){
if(n == 1) return 1;
return n*fun(n-1);
}
int main(){
int n;
cin >>n;
cout <<fun(n);
return 0;
}