藍橋杯 分糖果

2021-09-29 11:58:51 字數 1091 閱讀 5730

題目描述:

有n個小朋友圍坐成一圈。老師給每個小朋友隨機發偶數個糖果,然後進行下面的遊戲:每個小朋友都把自己的糖果分一半給左手邊的孩子。一輪分糖後,擁有奇數顆糖的孩子由老師補給1個糖果,從而變成偶數。反覆進行這個遊戲,直到所有小朋友的糖果數都相同為止。你的任務是**在已知的初始糖果情形下,老師一共需要補發多少個糖果。

輸入格式

程式首先讀入乙個整數n(2思路解析:

本題分別模擬以下三個過程即可:

把自己手中的糖果分一半給左手邊的孩子

給擁有奇數顆糖的孩子補給1個糖果

判斷所有糖果數是否相等

對於第一過程思路為:

**:

#include

#include

#include

#include

#include

using

namespace std;

intpanduan

(vector<

int> a)

//判斷糖果數是否相等

return

true;}

vector<

int>

buji

(vector<

int> a)

//給擁有奇數顆糖的孩子補給1個糖果

return a;

}vector<

int>

fenpei

(vector<

int> a)

//自己的糖果分一半給左手邊的孩子

for(

int i=

0;isize()

;i++

)return c;

}int

main()

while(!

panduan

(a))

cout<

-sum<

}

執行結果:

藍橋杯 分糖果

歷屆試題 分糖果 問題描述 有n個小朋友圍坐成一圈。老師給每個小朋友隨機發偶數個糖果,然後進行下面的遊戲 每個小朋友都把自己的糖果分一半給左手邊的孩子。一輪分糖後,擁有奇數顆糖的孩子由老師補給1個糖果,從而變成偶數。反覆進行這個遊戲,直到所有小朋友的糖果數都相同為止。你的任務是 在已知的初始糖果情形...

藍橋杯 分糖果

有n個小朋友站成一排 編號從0到n 1 每個小朋友有乙個rating值,存放在ratings陣列中。老師需要給他們分配糖果,每個小朋友至少需要一顆糖果,對於任意相鄰的兩個小朋友i和i 1,rating值大的必須比rating值小的分配的糖果多 rating相同的沒必要分配一樣多的糖果 請計算最少需要...

分糖果 藍橋杯

有n個小朋友圍坐成一圈。老師給每個小朋友隨機發偶數個糖果,然後進行下面的遊戲 每個小朋友都把自己的糖果分一半給左手邊的孩子。一輪分糖後,擁有奇數顆糖的孩子由老師補給1個糖果,從而變成偶數。反覆進行這個遊戲,直到所有小朋友的糖果數都相同為止。你的任務是 在已知的初始糖果情形下,老師一共需要補發多少個糖...