/**************************************************************************************
* 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_FUNC
int 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;
}
#else
int 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
经典c程序(0017)---猴子吃桃问题
最新推荐文章于 2024-01-22 14:08:21 发布