問題 1431 藍橋杯 歷屆試題 分糖果

2021-08-17 02:01:07 字數 1045 閱讀 3523

傳送門

問題 1431: [藍橋杯][歷屆試題]分糖果

時間限制: 1sec 記憶體限制: 128mb 提交: 290 解決: 162

題目描述

問題描述

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

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

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

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

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

輸入 程式首先讀入乙個整數n(2< n< 100),表示小朋友的人數。

接著是一行用空格分開的n個偶數(每個偶數不大於1000,不小於2)

輸出 要求程式輸出乙個整數,表示老師需要補發的糖果數。

樣例輸入

3 2 2 4

樣例輸出

4其實 還算比較好實現的

既然是 乙個環 那麼就用 永迴圈一直跑 ,跑到出口break就可以了

但需要注意的是 應該在一輪資料都處理過 之後 單獨處理 是否需要給糖果(+1操作), 和下次需要向左給的個數

#include 

#include

#include

using

namespace

std;

#define n 10001

int main()

int flag=0;

while (1)

else

}for (int i=0; iif (a[i]%2==1)

b[i] = a[i]/2;

}for (int i=0; iint flag1=0;

for (int j=0; j1; j++)

}if (flag1==0)

}if (flag==1)

break;

}printf ("%d\n",sum);

return

0;}

藍橋杯試題 歷屆試題 分糖果

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

藍橋杯 歷屆試題 分糖果

歷屆試題 分糖果 時間限制 1.0s 記憶體限制 256.0mb 問題描述 有n個小朋友圍坐成一圈。老師給每個小朋友隨機發偶數個糖果,然後進行下面的遊戲 每個小朋友都把自己的糖果分一半給左手邊的孩子。一輪分糖後,擁有奇數顆糖的孩子由老師補給1個糖果,從而變成偶數。反覆進行這個遊戲,直到所有小朋友的糖...

藍橋杯 歷屆試題 分糖果

歷屆試題 分糖果 時間限制 1.0s 記憶體限制 256.0mb 問題描述 有n個小朋友圍坐成一圈。老師給每個小朋友隨機發偶數個糖果,然後進行下面的遊戲 每個小朋友都把自己的糖果分一半給左手邊的孩子。一輪分糖後,擁有奇數顆糖的孩子由老師補給1個糖果,從而變成偶數。反覆進行這個遊戲,直到所有小朋友的糖...