有 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個糖果,從而變成偶數。反覆進行這個遊戲,直到所有小朋友的糖果數都相同為止。你的任務是 在已知的初始糖果情形下,老師一共需要補發多少個糖...