輸出結果為什么不是從第一天到第九天,而是從第九天到第一天呢?希望看得懂的人可以為我詳細的講解下,感激不盡?。。?/h1>
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;
}
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; }
2016-09-14
因為遞歸是從第十天剩余1個桃子開始的,第九天的桃子數量是第十天的桃子+1再乘以2,依次遞歸直到第一天