第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

不知道程序哪錯了

#include <stdio.h>

int getPeachNumber(n)

{

? ? int num;? ? //定義所剩桃子數

? ? if(n==10)

? ? {

? ? ? ?return 1;? ? ?//遞歸結束條件

? ? }?

? ? else

? ? {

? ? ? ? num = getPeachNumber(n)-n/2-1;? ?//這里是不應該用遞歸呢?

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

? ? }

? ? return num;

}

int main()

{

? ? int num = getPeachNumber(1);

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

? ? return 0;

}

求大神,這個程序有錯但是他說我編譯成功了,哪里錯了?

正在回答

1 回答

num = getPeachNumber(n)-n/2-1; 這個遞歸條件有問題。

正確的應該是這樣:num = (getPeachNumber(n+1)+1)*2;

這是從第10天往后倒推的遞歸。第10天剩一個,第9天剩(第十天剩的個數+1)*2 。然后再算第八天,第七天... 最后算到第一天。剩的個數我們用函數表示f(x),這樣,f(9)=(f(10)+1)*2.

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

weixin_慕后端5085378 提問者

謝謝你
2020-04-17 回復 有任何疑惑可以回復我~
#2

梁炯民21物聯2

是不是后面就是f(8)=(f(9)+1)*2
2021-12-13 回復 有任何疑惑可以回復我~

舉報

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

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

進入課程

不知道程序哪錯了

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

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

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

公眾號

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