2021-09-06
递归调用
三要素:
1.明确你这个函数想要干什么
2.寻找递归结束条件
3.找出函数的等价关系式
1.打印阶乘
public int Factorial(int n){ if(n == 1){ return 1; //n为1//时直接返回1 }else{ return Factorial(n - 1) * n; //递归实现阶乘 } }
2.猴子吃perch
public int eat(int day){ if (day == 10){ return 1; }else if (day >= 1 && day <= 9){ return (eat(day + 1) + 1)* 2; //前一天eat的 = (前一天eat的 + 1)* 2 以此类推 } return -1; } /* day10 : 1 day9: (day10 + 1)*2 day8: (day9 + 1)*2 ... */
3.斐波那契数列
public int Fibonaqi(int num){ if (num>=1){ if (num ==1 || num == 2){ return 1; }else { return Fibonaqi(num - 1 ) + Fibonaqi(num - 2); } }else { return -1; } } /* 1 1 2 3 5 8 13 num ==1 -->1 num ==2 -->2 num ==3 --> 1+2 =3 num ==4 --> 2+3 = 5 ... num == (num - 1) + (num - 2) */

浙公网安备 33010602011771号