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