1.C++ç¨åºè®¾è®¡
2.C语言猴子吃桃递归法
C++ç¨åºè®¾è®¡
第ä¸ä¸ªä¸å¤ªæ
é¢ç®ï¼ç´ååæ¡é®é¢ï¼ç´å第ä¸å¤©æä¸è¥å¹²ä¸ªæ¡åï¼å½å³åäºä¸åï¼è¿ä¸ç¾ï¼åå¤åäºä¸ä¸ª
第äºå¤©æ©ä¸åå°å©ä¸çæ¡ååæä¸åï¼åå¤åäºä¸ä¸ªã以åæ¯å¤©æ©ä¸é½åäºåä¸å¤©å©ä¸
çä¸åé¶ä¸ä¸ªãå°ç¬¬å¤©æ©ä¸æ³ååæ¶ï¼è§åªå©ä¸ä¸ä¸ªæ¡åäºãæ±ç¬¬ä¸å¤©å ±æäºå¤å°ã
1.ç¨åºåæï¼éåéåæç»´çæ¹æ³ï¼ä»åå¾åæ¨æã
2.ç¨åºæºä»£ç ï¼
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);
}
C语言猴子吃桃递归法
一个猴子摘了一些桃子,它每天吃了其中的一半然后再多吃了一个,
直到第天,它发现只有1个桃子了,问它第一天摘了多少个桃子?
猴子分N天吃完了桃子,要想求出第1天的桃子数,就先要求出第2天的桃子数,.......因此,有:
a1=(a2+1)*2;
a2=(a3+1)*2;
a3=(a4+1)*2;
......
a9=(a+1)*2;
a=1;
现在就知道了算法,我们可以用递归来求解:
int qiu(int a,int n)
{
if(n==1) a=1; //第天就只剩1个了
else a=(a(n-1)+1)*2; //前一天总比后1天多一半加1
}
-------------------------------------
#include<stdio.h>
int qiu(int a,int n);
main(){
int zuih=1,tians=;//最后一天的个数,天数
long sum;
sum=qiu(1,);
printf("di yi tian you %ld ge.\n"):
}
int qiu(int a,int n)
{
if(n==1) a=1; //第天就只剩1个了
else a=(a(n-1)+1)*2; //前一天总比后1天多一半加1
}