猴子第一天摘下N個桃子,當時就吃了一半,還不過癮,就又多吃了一個。第二天又將剩下的桃子吃掉一半,又多吃了一個。以后每天都吃前一天剩下的一半零一個。到第10天在想吃的時候就剩一個桃子了,問第一天共摘下來多少個桃子?并反向打印每天所剩桃子數。#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),n;? ? printf("猴子第一天摘了:%d個桃子。\n", num);? ? return 0;}為什么n從9到1輸出,不是1到9;開始n是1啊?
- 1 回答
- 2 關注
- 1292 瀏覽
添加回答
舉報
0/150
提交
取消