2.2递归猴子吃桃问题

猴子第一天摘了若干个桃子,当即吃了一半,还不解馋,又多吃了一个;第二天,吃剩下的桃子的一半,还不过瘾,又多吃了一个;以后每天都吃前一天剩下的一半多一个,到第10天想再吃时,只剩下一个桃子了。问第一天共摘了多少个桃子?
 

#include <stdio.h>

int func(int n)//功能:函数返回第n天未吃前的桃子数量。
{
    if(n == 10)//终止条件
        return 1;
    else
    {
        return (func(n+1)+1)*2;//普通情况的推导公式:第n天的桃子量 == (第n+1天桃子量+1)*2
    }
}


int main(void)
{
    printf("%d\n",func(1));
    return 0;
}

猜你喜欢

转载自blog.csdn.net/CHEN_JYXHM/article/details/81455930