C++刚入门的学习者,阶乘一定用的是最基本的循环。但阶乘可以用算法来写吗?答案是有的,今天就给大家带来递归版阶乘代码!
所谓阶乘,就是用1乘到n,记作n!,下面是用循环写的代码:
#include<iostream>
using namespace std;
int main(){
int n,sum=1;//乘法当然要从1开始了!
cin>>n;//读入n。
for(int i=1;i<=n;i++) sum*=i;//求阶乘步骤。
cout<<sum<<endl;//输出答案。
return 0;
}
很简单,入门的都会,下面是递归代码:
#include<iostream>
using namespace std;
int jiecheng(int x){//定义阶乘函数!
if(x==0) return 1;//特判0。
if(x==1) return x;//处理边界。
return jiecheng(x-1)*x;//递归过程。
}
int main(){
int n;
cin>>n;
cout<<jiecheng(n)<<endl;//输出。
return 0;
}
如果有不懂的地方可以私信本蒻蒻哟。