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