C语言经典例21-猴子吃桃问题
生活随笔
收集整理的這篇文章主要介紹了
C语言经典例21-猴子吃桃问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目錄
- 1 題目
- 2 分析
- 3 實現
- 4 運行結果
1 題目
猴子吃桃問題:猴子第一天摘下若干個桃子,當即吃了一半,還不癮,又多吃了一個,第二天早上又將剩下的桃子吃掉一半,又多吃了一個。以后每天早上都吃了前一天剩下的一半零一個。到第10天早上想再吃時,見只剩下一個桃子了。求第一天共摘了多少。
2 分析
本題若要假設第一天有多少個桃子,再利用上述規律,來驗證第一天的假設是否正確,這種思路是很難完成的,那么最好的辦法就是逆向求解,從最后一天,反推到第一天,注意循環時只用循環9次,因為雖然題干給出的是第10天剩余1個,但是這不是參與計算的,只是初始條件,所以只用循環9次
3 實現
#include <stdio.h>int main() {int x1 = 0;int x2 = 1; // 最后一天只剩一個桃子 for (int i = 9; i > 0; i--) {x1 = (x2 + 1) * 2; // 上一天的總數x2 = x1; // 下一天的總數}printf("桃子總數為%d", x1);return 0; }4 運行結果
桃子總數為1534總結
以上是生活随笔為你收集整理的C语言经典例21-猴子吃桃问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C语言经典例20-小球反弹高度问题
- 下一篇: C语言经典例22-乒乓球比赛名单问题