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

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

這是什么意思,不應該是(n+1)*2么?

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

正在回答

3 回答


第一,整體的關系:

getPeachNumber(n)代表當天剩下的桃子數

getPeachNumber(n+1)代表前一天剩下的桃子數

首先n=1,第n天的桃子數為getPeachNumber(n):

函數從第1天開始桃子數為:getPeachNumber(1),

...

第10天桃子數getPeachNumber(10)的值為1,題意為第10天吃完剩下一個桃子

【所以在getPeachNumber遞歸里,需要每一次都輸入(n+1)去獲取前一天的桃子數?!?/p>


第二,由關系得等式:

第10天的桃子數 = 第9天的桃子數/2-1? ?===>? ?第9天的桃子數? = (第10天的桃子數+1)*2

依次類推....

第2天的桃子數 = 第1天的桃子數/2-1? ?===>? ?第1天的桃子數? = (第2天的桃子數+1)*2

【規律是:第n天的桃子數?= (第n+1天的桃子數+1)*2】


第三,將第一步中整體的關系代入第二步中:

第n天的桃子數 = (第n+1天的桃子數+1)*2

getPeachNumber(n) = (getPeachNumber(n+1) + 1) * 2


說明:getPeachNumber(n+1)就是第n+1天的桃子數,這在第二步中可以得出。


第四,n代表天數,第10天吃完之后只剩下1個桃子,所以n==10時,返回1。



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

按照題目意思呀,題目不是說了會吃一半多一個么,比如第10天剩1個,那么第九天有多少個呢,假設x個,那么就是x/2 - 1(多吃的一個) = 1(剩的的一個);那么x = [1(剩)+1(多吃)]*2,所以就是后一天等于前一天的加一再乘以2,即第一天的桃子數=第二天的桃子數加一再乘二,以此類推

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

這里的 getPeachNumber(n) n代表天數? 下面主函數代入值為1? 然后帶到遞歸函數里 (getPeachNumber(1+1=2)+1)*2 的意思是 第一天的桃子數=第二天的桃子數加一再乘二?

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

十二點半

這是怎么看出來的呢
2018-12-28 回復 有任何疑惑可以回復我~
#2

米蟲懶得聰明 回復 十二點半

按照題目意思呀,題目不是說了會吃一半多一個么,比如第10天剩1個,那么第九天有多少個呢,假設x個,那么就是x/2 - 1(多吃的一個) = 1(剩的的一個);那么x = [1(剩)+1(多吃)]*2,所以就是后一天等于前一天的加一再乘以2,即第一天的桃子數=第二天的桃子數加一再乘二,以此類推
2019-01-03 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

這是什么意思,不應該是(n+1)*2么?

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

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

幫助反饋 APP下載

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

公眾號

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