課程
/后端開發
/C
/C語言入門
第一天明明吃了一半加一? 為什么第一天剩的和第一天摘的數量一樣多
2021-08-21
源自:C語言入門 5-8
正在回答
題目錯了,正確可以這么寫
#include <stdio.h>
int getPeachNumber(int n)
{
? ? int num;? ? //定義所剩桃子數
? ? if(n==10)
? ? {
? ? ? ?return 1;? ? ? //遞歸結束條件
? ? }?
? ? else if(n<10&&n>0)
? ? ? ? num = (getPeachNumber(n+1)+1)*2;? ?//這里是不應該用遞歸呢?
? ? ? ? printf("第%d天所剩桃子%d個\n", n, num); //天數,所剩桃子個數
? ? }
? ? return num;
}
int main()
? ? int num = (getPeachNumber(1)+1)*2;
? ? printf("猴子第一天摘了:%d個桃子。\n", num);
? ? return 0;
數學角度來說,題目錯了,打印出來的結果應該是: 第9天所剩桃子4個 第8天所剩桃子10個 第7天所剩桃子22個 第6天所剩桃子46個 第5天所剩桃子94個 第4天所剩桃子190個 第3天所剩桃子382個 第2天所剩桃子766個 第1天所剩桃子1534個 猴子第一天摘了:3070個桃子。
把吃剩下的數量是要傳遞給第二天的
舉報
C語言入門視頻教程,帶你進入編程世界的必修課-C語言
3 回答猴子第一天摘下N個桃子,當時就吃了一半,還不過癮,就又多吃了一個。第二天又將剩下的桃子吃掉一半,又多吃了一個。以后每天都吃前一天剩下的一半零一個。到第10天在想吃的時候就剩一個桃子了,問第一天共摘下來多少個桃子?并反向打印每天所剩桃子數。
1 回答第一天所摘桃子等于第一天所剩桃子?
6 回答猴子第一天摘下N個桃子,當時就吃了一半,還不過癮,就又多吃了一個。第二天又將剩下的桃子吃掉一半,又多吃了一個。以后每天都吃前一天剩下的一半零一個。到第10天在想吃的時候就剩一個桃子了,問第一天共摘下來多少個桃子?并反向打印每天所剩桃子數。這是怎么來的?
2 回答第一天摘得為什么不是3070個而是1534,如果第一天摘了1534個那么第一天不是剩下766個嗎?
1 回答剩下與摘下的數量在第一天的問題
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2023-07-13
#include <stdio.h>
int getPeachNumber(int n)
{
? ? int num;? ? //定義所剩桃子數
? ? if(n==10)
? ? {
? ? ? ?return 1;? ? ? //遞歸結束條件
? ? }?
? ? else if(n<10&&n>0)
? ? {
? ? ? ? num = (getPeachNumber(n+1)+1)*2;? ?//這里是不應該用遞歸呢?
? ? ? ? printf("第%d天所剩桃子%d個\n", n, num); //天數,所剩桃子個數
? ? }
? ? return num;
}
int main()
{
? ? int num = (getPeachNumber(1)+1)*2;
? ? printf("猴子第一天摘了:%d個桃子。\n", num);
? ? return 0;
}
2022-02-11
2021-08-22
把吃剩下的數量是要傳遞給第二天的