1. 程式人生 > 其它 >猴子吃桃問題

猴子吃桃問題

技術標籤:演算法演算法c++

猴子吃桃問題

問題描述

猴子吃桃問題。猴子第一天摘下若干個桃子,當即吃了一半,還不過癮,又多吃了一個。第二天早上又將剩下的桃子吃掉一半,又多吃一個。以後每天早上都吃了前一天剩下的一半零一個。到第N天早上想再吃時,見只剩下一個桃子了。求第一天共摘多少桃子

程式碼

#include<iostream>
#include<vector>
using namespace std;

vector<int> peach;

void CalSum(int day)
{
	int sum = 0;
	peach.
push_back(1); if (day == 1) { sum = peach.front(); } else { int i = 0; while (i < day) { sum = sum + peach.at(i); if (i == 0) { peach.push_back(3); } else { peach.push_back(peach.at(i) * 2); } i++; } } cout << "第" << day <<
"天摘的桃子總數是:" << sum << endl; } int main() { int day = 0; cout << "請輸入天數day:"; cin >> day; CalSum(day); return 0; }

測試結果

在這裡插入圖片描述