問題描述
有n個小朋友圍坐成一圈。老師給每個小朋友隨機發偶數個糖果,然後進行下面的遊戲:
每個小朋友都把自己的糖果分一半給左手邊的孩子。
一輪分糖後,擁有奇數顆糖的孩子由老師補給1個糖果,從而變成偶數。
反覆進行這個遊戲,直到所有小朋友的糖果數都相同為止。
你的任務是**在已知的初始糖果情形下,老師一共需要補發多少個糖果。
輸入程式首先讀入乙個整數n(2< n< 100),表示小朋友的人數。
接著是一行用空格分開的n個偶數(每個偶數不大於1000,不小於2)
輸出要求程式輸出乙個整數,表示老師需要補發的糖果數。
樣例輸入
32 2 4
樣例輸出
4
#include
intmain()
while
(!f)
a[n]
=a[n]/2
+a[0];
for(i=
1;i<=n;i++)}
for(i=
1;i<=n;i++
)//判斷糖果是否相等,將糖果與第乙個小朋友比較
else}}
printf
("%d"
,b);
return0;
}
解題思路:
1.找規律,算出每個小朋友分了糖果之後的糖果
2.判斷手中的糖果是否為奇數
3.判斷小朋友手中的糖果是否相等
分糖果 ACM訓練
描述 要開學了,老師買了一些糖果準備發給同學們吃。老師一共買了3種糖果,數量分別為a,b,ca,b,ca,b,c個 老師將會給每位同學3顆糖果 但是3顆糖果不能完全來自於同一種,求最多能有多少個學生能分到糖果 注意 糖果少於3顆時不能分給學生。輸入 3個整數a b,c 1 a,b,c 10 6 分別...
heu acm基礎訓練 1001
哈爾濱工程大學 online judge acm訓練之分治演算法 原題大意 求a b,之間的數有多少個1,包括a,b.這題典型的分治演算法 舉例說明 以197為例 那麼我們將其分為個位,十位,個位7上有乙個,那麼在190 197上有7 1個 然後整十位上的為18,即197 10 1,然後其權值將變為...
ccf測試基礎訓練
逆時針旋轉90度,通過陣列下標轉換實現 include include int data 1020 1020 int datax 1020 1020 int main for i 0 ifor j 0 jdatax j i data i m j 1 for i 0 ifor j 0 jprintf ...