Java中递归应用

描述:猴子吃桃子问题,猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。
第二天又将仅剩下的桃子吃掉了一半,又多吃了一个。以后每天都吃了前一天剩下的一半多一个。
到第十天,只剩下一个桃子。试求第一天共摘了多少桃子?

代码实现:

import org.junit.Test;


public class Demo01 {
    @Test
    public void test01(){
        int sum = getSum(1);
        System.out.println(sum);

    }
   //定义方法得到当天的桃子数量,参数为第几天,返回值为当天的桃子数
    public static int getSum(int day) {
        int count ;//定义变量保存桃子的个数
        if (day >= 1 && day <=10) {//参数范围是1-10之间
            if (day == 10) {
                return 1;
            }
            count = (getSum(day + 1) + 1) * 2;
            return count;
        }else {
            return 0;
        }
    }
}

猜你喜欢

转载自blog.csdn.net/xilin6664/article/details/89134361
今日推荐