這是參考答案,程序目的是反向打印每天所剩桃子數(shù)?int num; ? ?//定義所剩桃子數(shù)? ? if(n==10)? ? {? ? ? ?return 1;//遞歸結(jié)束條件? ? }?? ? else? ? {? ? ? ? num = (getPeachNumber(n+1)+1)*2; ? //這里是不應(yīng)該用遞歸呢?? ? ? ? printf("第%d天所剩桃子%d個(gè)\n", n, num); //天數(shù),所剩桃子個(gè)數(shù)問(wèn)題是:程序只是給出了遞歸的算法并沒(méi)有給出輸出方向和天數(shù)起止范圍,程序怎么能自主判斷呢?
1 回答
已采納

tanhouyusheng
TA貢獻(xiàn)94條經(jīng)驗(yàn) 獲得超59個(gè)贊
這個(gè)有個(gè)問(wèn)題就是不到10的時(shí)候沒(méi)有返回,應(yīng)該在print后邊返回num,這個(gè)直接調(diào)用就好了,每次到num=get的時(shí)候會(huì)進(jìn)入到下一次的遞歸,直到第10天剩一個(gè)桃子返回的時(shí)候的到了第9天的num,打印返回,一次返回到第一次調(diào)用。
那個(gè)num=get的計(jì)算就相當(dāng)于數(shù)列的遞推公式。
- 1 回答
- 0 關(guān)注
- 1532 瀏覽
添加回答
舉報(bào)
0/150
提交
取消