美文网首页
方法递归||猴子吃桃

方法递归||猴子吃桃

作者: 哈迪斯Java | 来源:发表于2021-10-24 21:11 被阅读0次

    猴子吃桃子问题:有一堆桃子,猴子第一天吃了其中的一半,并再多吃了一个!以后每天猴子都吃其中的一半,然后再多吃一个。当到第10天时,
    想再吃时(即还没吃),发现只有1个桃子了。问题:最初共多少个桃子?
    package HspLearningoop;

    public class Demon08Monkey {
    // 猴子吃桃子问题:有一堆桃子,猴子第一天吃了其中的一半,并再多吃了一个!以后每天猴子都吃其中的一半,然后再多吃一个。当到第10天时,
    // 想再吃时(即还没吃),发现只有1个桃子了。问题:最初共多少个桃子?
    public static void main(String[] args) {
    Z t = new Z();
    int day = 5;
    int peachNum = t.peach(day);
    if (peachNum != -1){
    System.out.println("第"+day+"有"+peachNum +"个桃子!");
    }

    }
    

    }
    //思路分析逆推
    // 1.day = 10时有1个桃子
    // 2. day =9时有(day10 +1)* 2 =4
    // 3. day = 8时有(day9 + 1)* 2 =10
    // 4.规律就是前一天的桃子=(后一天的桃子+1)*25.递归

    class Z{
    public int peach(int day) {
    if (day == 10) {
    return 1;
    } else if (day >= 1 || day <= 9) {
    return (peach(day+1)+1)*2;
    }else {
    System.out.println("day在1~10之间");
    return -1;
    }
    }
    }

    相关文章

      网友评论

          本文标题:方法递归||猴子吃桃

          本文链接:https://www.haomeiwen.com/subject/sttlaltx.html