对比递归和循环来实现n的阶乘来更深入了解递归

为了方便看,我们先都求5的阶乘

循环

#include 
using namespace std;
int n=5;
int main(){
int sum=1;

for(int i=1;i<=n;i++)
{
sum*=i; 
}
cout<

递归

递归要有出口(基线条件/退出条件),递归主体(调用自己的代码)

#include 
using namespace std;
int n=5;

int fun(int n){
if(n==0||n==1){return 1;}//递归出口 
return n*fun(n-1);//递归主体 
} 

int main(){
cout<

你可能感兴趣的:(数据结构,C++,算法)