经典c程序(0017)---猴子吃桃问题

来源:互联网 发布:桃花姬阿胶糕 知乎 编辑:程序博客网 时间:2024/06/10 15:57
/*************************************************************************************** Function     : test* Create Date  : 2014/04/14* Author       : NTSK13* Email        : beijiwei@qq.com* Copyright    : 欢迎大家和我一起交流学习,转载请保持源文件的完整性。                     任何单位和个人不经本人允许不得用于商业用途* Version      : V0.1* date         : 2014/04/14* history      : V0.1***************************************************************************************    经典c程序(0017)    题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个   第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下   的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。**************************************************************************************/#include<stdio.h>#define MY_FUNC  1#if MY_FUNCint get_peach_number(int n);int main(){        int i=0,X1=0,Xn=1,ret=0;;      // the first method:        for(i=9;i>0;i--)        {             X1=(Xn+1)*2;           Xn=X1;        }          printf("result is : %d \n",X1);        fflush(stdout);        // the second method:        ret=get_peach_number(1);        printf("ret is : %d \n",ret);        fflush(stdout);        return (0);}int get_peach_number(int n){    if(n==10)        return (1);    else        return  (get_peach_number(n+1) +1)*2;}      #elseint main(){    int day,x1,x2;    day=9;x2=1;    while(day>0){        x1=(x2+1)*2;/*第一天的桃子数是第2天桃子数加1后的2倍*/        x2=x1;        day--;    }    printf("the total is %d\n",x1);    fflush(stdout);        return 0;  }#endif


0 0