c语言猴子吃桃嵌套调用编程,C语言实现猴子吃桃问题(循环、递归两种方法)...
【問題描述】
猴子第一天摘下若干個桃子,當即吃了一半,不過癮,又多吃了一個;第二天,吃剩下的桃子的一半,還不過癮,又多吃了一個;以后每天都吃前一天剩下的一半多一個,到第十天,只剩下一個桃子。求第一天猴子摘的桃子個數。
【基本思路】
采取逆向思維的方法,從后往前推斷,可得到遞推公式。
令:X10=1,根據題意容易得出
X9=2*(X10+1)
X8=2*(X9+1)
…
Xn=2*(Xn+1+1)
【采用循環實現】
#include
int main(void)
{
int day,x1,x2=1;?? //第10天1個桃子
for(day=10;day>=1;day--)
{
printf("第%d天的桃子數為:%d\n",day,x2);
x1=2*(x2+1);
x2=x1;
}
}
【采用遞歸實現】
根據題意,可得到遞歸式及遞歸結束條件。
X(n)=2*(X(n+1)+1) (x<10)
X(10)=1? ? ? ? ? ? ? ? ? ?(x=1)
#include
int func(int n)? //返回第n天時的桃子數
{
if(n==10)
return 1;
else
return 2*(func(n+1)+1);
}
int main(void)
{
int i;
for(i=1;i<=10;i++)
printf("第%d天的桃子數:%d \n", i, func(i));
return 0;
}
總結
以上是生活随笔為你收集整理的c语言猴子吃桃嵌套调用编程,C语言实现猴子吃桃问题(循环、递归两种方法)...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言程序设计 江宝钏 实验九,c语言程
- 下一篇: tl wn322g linux驱动下载,