這里的return 1 代表什么?是返回sum=1 嗎? 求大佬解釋
#include <stdio.h>
int getPeachNumber(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;
}
2018-10-27
是的,不過其實是可以直接寫sum=1的,因為在所有判斷語句外有一個return sum了
2018-10-23
輸入n=10的時候,返回第十天剩余1個桃子,但是不知道第九天剩余幾個;輸入n=9,第九天的剩余桃子=(第十天剩余桃子+1)*2,此時第十天剩余桃子調用原函數,已知第十天剩余1個;以此類推,輸入n=8,調用第九天、第十天的數據;n=7,調用8、9、10的數據;以此類推,輸入n=1的時候,調用10次函數,得到n=1天的時候剩余的桃子數量。
2018-10-20
感覺應該是第十天剩一個桃子的意思