算法学习笔记之猴子吃桃

问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个,第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。

我的理解:(假设An表示第n天剩下的桃子数)
我们知道前一天的桃子比后一天的桃子的关系:
An-1 = (An + 1) * 2;
所以。。。

程序:

//n:总的天数
    public static int peach(int n) {
        if (n == 1) {
            return 1;
        }else {
            return (peach(n-1)+1) * 2 ;
        }
    }

结果:
算法学习笔记之猴子吃桃_第1张图片

你可能感兴趣的:(算法)