当前位置: 移动技术网 > IT编程>开发语言>Java > java递归代码实现斐波那契数列,猴子吃桃等问题

java递归代码实现斐波那契数列,猴子吃桃等问题

2020年04月02日  | 移动技术网IT编程  | 我要评论

神起国度,矿山测量学,算法

递归:调用方法的过程中再次调用自己

要明确递归结束的条件

示例:

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);
}

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网