藍橋杯 分糖果(陣列)

2021-10-24 04:12:52 字數 1197 閱讀 8942

有 n 個小朋友圍坐成一圈。老師給每個小朋友隨機發偶數個糖果,然後進行下面的遊戲:

每個小朋友都把自己的糖果分一半給左手邊的孩子。

一輪分糖後,擁有奇數顆糖的孩子由老師補給 1 個糖果,從而變成偶數。

反覆進行這個遊戲,直到所有小朋友的糖果數都相同為止。

你的任務是**在已知的初始糖果情形下,老師一共需要補發多少個糖果。

【格式要求】

程式首先讀入乙個整數 n (2例如:輸入

32 2 4

程式應該輸出:

4資源約定:

峰值記憶體消耗(含虛擬機器) < 256m

cpu 消耗 < 1000ms

請嚴格按要求輸出,不要畫蛇添足地列印類似:「請您輸入…」 的多餘內容。

所有**放在同乙個原始檔中,除錯通過後,拷貝提交該原始碼。

注意:不要使用 package 語句。不要使用 jdk1.7 及以上版本的特性。

注意:主類的名字必須是:main,否則按無效**處理。

public

class 分糖果

sendcandy()

; system.out.

println

(count);}

//發糖果

private

static

void

sendcandy()

if(flag==n-1)

//每人拿出一半糖果,先放出來 arrmid[i]

for(

int i =

0; i

)//接受右邊的人給的糖果

arrn[n-1]

+=arrmid[0]

;//第乙個人 加 最後乙個人的糖果(圍成圈)

for(

int i =

0; i

1; i++

)//老師補充糖果(奇數)

for(

int i =

0; i

//每次分完,列印測試

"剩:"+arrays.tostring(arrmid));

"補充後:"+arrays.tostring(arrn));}}

}

測試:

藍橋杯 分糖果

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

藍橋杯 分糖果

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

分糖果 藍橋杯

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