1、环境配置:
- 系统:win10
- 编程语言:C++
- 编译器:DevC++
2、算法思想:
将n的阶乘看成是n乘n-1的阶乘。
3、代码:
/*
《递归阶乘算法》
*/
#include<iostream>
using namespace std;
int function1(int n);//从n阶乘到1
int f2(int i,int n); //从i阶乘到n
int main(){
int i = 5;
int s = function1(i);
cout<<"i ="<<i<<"时阶乘后的s="<<s<<endl;
i = 1;
int j = 5;
int m = f2(i,j);
cout<<"从"<<i<<"阶乘到"<<j<<"结果是"<<m<<endl;
return 0;
}
int function1(int n){
if(n == 1){
return 1;
}
else{
return(n*function1(n-1));
}
}
int f2(int i,int n){
if(i == n){
return n;
}
else{
return(i*f2(i+1,n));
}
}
4、结果展示:
![](https://img.haomeiwen.com/i14216764/928d24e55b90a4fe.png)
5、反思总结:
递归就是自己调用自己。
网友评论