什么时候用递归:
1.一个问题可以分为若干子问题去解
2.可以写成树的形式
3.变量在每个阶段不一样
例题:求n的阶乘
#include <bits/stdc++.h>
using namespace std;
int sum=1,i=1;
int digui(int n,int sum,int i){//开始应该带进来的值和随着递归变换的值
if(i==n){
sum=i*sum;
return sum;
}else{
digui(n,sum*i,i+1);
}
}
int main(){
//求n的阶乘
int n;
scanf("%d",&n);
digui(n,1,1);
printf("%d",digui(n,1,1));
return 0;
}