柚子快報(bào)邀請(qǐng)碼778899分享:算法 猴子吃桃-C語言
柚子快報(bào)邀請(qǐng)碼778899分享:算法 猴子吃桃-C語言
1.問題:
??????猴子第一天摘下若干個(gè)桃子,當(dāng)即吃了一半,還不過癮,又多吃了一個(gè)。 第二天早上又將剩下的桃子吃掉一半,又多吃一個(gè)。以后每天早上都吃了前一天剩下的一半零一個(gè)。 到第N天早上想再吃時(shí),見只剩下一個(gè)桃子了。求第一天共摘多少桃子。
2.解答:
??????循環(huán)倒推。從第一天到第N-1天每天都是先吃一半,再吃一個(gè),那么我們就可以從第N-1天往前推,先加一個(gè),再乘以2。
(1)注意吃桃子的順序,先吃一半,再吃一個(gè);
(2)到了第N天發(fā)現(xiàn)還剩一個(gè),說明第N天并沒有吃;
(3)注意倒推時(shí)計(jì)算的順序,先加1,再乘2。
3.代碼:
#include
int main()//主函數(shù)
{
int i,N,s=1;
//定義的s要賦值為1.
scanf("%d",&N);
for(i=1;i //注意循環(huán)次數(shù),若是 N=10,則要循環(huán) 9 次 { //因?yàn)楹镒邮堑?N 天就只剩 1 個(gè)桃子了,所以第 N 天就沒有算上 s=(s+1)*2; //從第 N 天往回推,每次都是 s 個(gè)桃子加 1 個(gè)再乘 2 最后當(dāng) i=N 時(shí)結(jié)束循環(huán) } printf("%d",s); //最后輸出原來的桃子數(shù) s return 0;//函數(shù)返回值為0 } 4.編譯結(jié)果: 輸入:6 輸出:94 柚子快報(bào)邀請(qǐng)碼778899分享:算法 猴子吃桃-C語言 好文鏈接
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。
轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。