*海灘上有一堆桃子,n 只猴子來分。第 1 只猴子把這堆桃子中的 1 個扔
入海中(浪費食物
),然後將剩餘的桃子平均分成 2 份,最後這只猴子拿走了 1 份。第 2 只
猴子來了接著把剩下的桃子中的乙個扔入海中,然後把剩餘的桃子平均分成 2
份,開開心心拿走了 1 份。 第 3 、第 4 、…….,第 n 只猴子都是將剩下
的桃子中的 1 個扔入海中,然後將剩餘的桃子平均分成 2 份, 並拿走其中的 1
份,最後只剩下 1 個桃子,編寫程式,輸入猴子的數量 n,輸出海灘上原有多少
桃子。輸入:乙個正整數 n 表示猴子的數量
輸出:當猴子數量為 n 時,海灘上最少的桃子數
首先,我們要想到。除去猴子拿到的桃子數是 (s-1)/2。
s為拿之前的桃子數量
反過來,想知道前面猴子拿之前的桃子數量, 就是 s*2+1。又知道最後還剩了乙個,
就可以寫成遞推程式
for
(int i=
1;i<=n;i++
)//arr是整型陣列名
又知最後剩了乙個桃
即
arr[0]
=1;
別忘定義定義整型陣列
int n;
cin>>n;
int arr[n]
;
完整**
#include
using
namespace std;
intmain()
cout<;return0;
}
樣例輸入 2;
樣例輸出 7;
「猴子分桃」常規遞推解法C
海灘上有一堆桃子,n 只猴子來分。第 1 只猴子把這堆桃子中的 1 個扔 入海中 浪費食物 然後將剩餘的桃子平均分成 2 份,最後這只猴子拿走了 1 份。第 2 只 猴子來了接著把剩下的桃子中的乙個扔入海中,然後把剩餘的桃子平均分成 2 份,開開心心拿走了 1 份。第 3 第 4 第 n 只猴子都是...
C 華為OJ 猴子分桃
題目描述 老猴子辛苦了一輩子,給那群小猴子們留下了一筆巨大的財富 一大堆桃子。老猴子決定把這些桃子分給小猴子。第乙個猴子來了,它把桃子分成五堆,五堆一樣多,但還多出乙個。它把剩下的乙個留給老猴子,自己拿走其中的一堆。第二個猴子來了,它把桃子分成五堆,五堆一樣多,但又多出乙個。它把多出的乙個留給老猴子...
每日程式C語言49 猴子分桃子問題
海灘上有一堆桃子,五隻猴子來分。第一只猴子把這堆桃子平均分為 五份,多了乙個,這只猴子把多的乙個仍入大海中,拿走了乙份。第二隻猴 子把剩下的桃子又平均分成五份,又多了乙個,它同樣把多的乙個扔入大海,拿走了乙份,第三,第四,第五只猴子都是這樣做的,問海灘上原來最少有 多少個桃子?這個題主要是找到剩餘桃...