不知道程序錯哪里了
#include <stdio.h>
int getPeachNumber(n)
{?
? ? int num;? ? //定義所剩桃子數
? ? if(n==10)
? ? {
? ? ? ?retutn 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;
}
2020-04-19
調用函數getPeachNumber時形參位置應該加上類型。在遞歸計算挑子數時遵循的是:今天原有挑子數/2-1=今天剩下挑子數。遞歸遞歸,原理便是基于前或后一數據。程序中要求的挑子數為原有的,公式應該是:(剩下+1)*2=原數
2020-07-05
?? ?retutn 1;? ? ? //遞歸結束條件, 這里的return寫錯了!