亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

遞歸函數(二) 希望解惑

#include <stdio.h>

int getPeachNumber(int n)? //這里要定義n,要不編譯器會報錯!

{

? ? int num;? ??

? ? if(n==10)

? ? {

? ? ? ?return 1;? ? ??

? ? }?

? ? else

? ? {

? ? ? ? num = (getPeachNumber(n+1)+1)*2;??

? ? ? ? printf("第%d天所剩桃子%d個\n", n, num);?

? ? }

? ? return num;

}

int main()

{

? ? int num = getPeachNumber(1);

? ? printf("猴子第一天摘了:%d個桃子。\n", num);

? ? return 0;

根據?(getPeachNumber(n+1)+1)*2;? ? n=1

那第九天不是應該(1+1)+1)*2=6

有6個桃子嗎,這4是怎么來的? ?糾結啊

正在回答

3 回答

n+1不是n+1個桃子,而是代表第十天,getpeachnumber(n)為第九天時,n+1就是第十天所吃桃子的函數,不是單純n+1

0 回復 有任何疑惑可以回復我~

if(n==10)

? ? {

? ? ? ?return 1;? ? ??

? ? }?

假設n=9

num = (getPeachNumber(n+1)+1)*2; ? ?getPeachNumber(n+1)=getPeachNumber(9+1)=getPeachNumber(10)=1

所以第九天(getPeachNumber(n+1)+1)*2=(1+1)*2=4


1 回復 有任何疑惑可以回復我~
#1

慕仰103958 提問者

可是主函數設置參數為1,因該從1算起啊
2018-11-28 回復 有任何疑惑可以回復我~

第一天早上有1534個中午吃一半有767晚上吃一個有766個

到第二天早上有766個中午吃一半有383晚上吃一個有382個

以此類推到第九天早上有4個中午吃一半有2晚上吃一個有1個

到第十天就剩下一個了

0 回復 有任何疑惑可以回復我~
#1

慕仰103958 提問者

額。。。。我主要是看不懂這個公式,按照公式來算,應該是6啊
2018-11-22 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
C語言入門
  • 參與學習       926904    人
  • 解答問題       21533    個

C語言入門視頻教程,帶你進入編程世界的必修課-C語言

進入課程

遞歸函數(二) 希望解惑

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號