1. 程式人生 > >第七週_程式設計區_第三題

第七週_程式設計區_第三題

3 猴子吃桃程式_擴充套件3(4分)
題目內容:猴子第一天摘了若干個桃子,吃了一半,不過癮,又多吃了1個。第二天早上將剩餘的桃子又吃掉一半,並且又多吃了1個。此後每天都是吃掉前一天剩下的一半零一個。到第n天再想吃時,發現只剩下1個桃子,問第一天它摘了多少桃子?為了加強互動性,由使用者輸入天數n,即假設第n天的桃子數為1。要求採用遞迴法求解。
遞迴函式原型:int Monkey(int n, int x);
函式功能:從第n天只剩下一個桃子反向逆推出第1天的桃子數
程式執行結果示例1:Input days n:5↙
x=46
程式執行結果示例2:Input days n:10↙
x=1534
輸入提示資訊:"Input days n:"輸入格式: "%d"輸出格式:“x=%d\n”

程式碼如下:
#include<stdio.h>
int Monkey(int n, int x);
int main()
{
   int n,x,sum;
   x=1;
   printf(“Input days n:”) ;
   scanf("%d",&n);
   sum=Monkey(n,x);
   printf(“x=%d\n”,sum);
   return 0;
}
int Monkey(int n, int x)
{
    int sum=0;
    if(n==1)
    {
        sum=x;
    }
    else
    {
        sum=Monkey(n-1,2*(x+1));
    }
    return sum;
}