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

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