1.递归三要素
第一要素:明确你这个函数想要干什么(如:算 n 的阶乘)
// 算 n 的阶乘(假设n不为0)
int f(int n){

}

第二要素:寻找递归结束条件(我们需要找出当参数为啥时,递归结束,之后直接把结果返回,请注意,这个时候我们必须能根据这个参数的值,能够直接知道函数的结果是什么。如:应知道f(1)=1)
// 算 n 的阶乘(假设n不为0)
int f(int n){
if(n == 1){
return 1;
}
}

第三要素:找出函数的等价关系式(不断缩小参数的范围,缩小之后,我们可以通过一些辅助的变量或者操作,使原函数的结果不变。)最难的一步