神起国度,矿山测量学,算法
递归:调用方法的过程中再次调用自己
要明确递归结束的条件
示例:
1.斐波那契数列(假设一对刚出生的小兔一个月后就能长成大兔,再过一个月就能生下一对小兔,并且此后每个月都生一对小兔,没有发生死亡):
public static int fibo(int n) {
if (n == 1 || n == 2 ) {
return 1;
}
return fibo(n - 1) + fibo(n-2);
}
2.猴子吃桃问题(猴子吃桃子问题,猴子第一天摘下若干个桃子,当即吃了快一半,还不过瘾,又多吃了一个。第二天又将仅剩下的桃子吃掉了一半,又多吃了一个。以后每天都吃了前一天剩下的一半多一个。到第十天,只剩下一个桃子。试求第一天共摘了多少桃子?):
public static int gettaozi(int days) {
if (days == 1) {
return 1;
}
return (gettaozi(days - 1) + 1) * 2;
}
3.阶梯有几种走法(有n步台阶,一次只能上1步或2步,共有多少种走法?):
public static int gettotal(int n) {
if (n == 1 || n == 2) {
return n;
}
return gettotal(n - 2) + gettotal(n - 1);
}
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
浅析我对 String、StringBuilder、StringBuffer 的理解
使用IDEA搭建SSM框架的详细教程(spring + springMVC +MyBatis)
Springboot整合freemarker 404问题解决方案
引入mybatis-plus报 Invalid bound statement错误问题的解决方法
网友评论