問題描述:
有n個小朋友圍坐成一圈。老師給每個小朋友隨機發偶數個糖果,然後進行下面的遊戲:
每個小朋友都把自己的糖果分一半給左手邊的孩子。
一輪分糖後,擁有奇數顆糖的孩子由老師補給1個糖果,從而變成偶數。
反覆進行這個遊戲,直到所有小朋友的糖果數都相同為止。
你的任務是**在已知的初始糖果情形下,老師一共需要補發多少個糖果。
輸入格式:
程式首先讀入乙個整數n(2輸出格式:
要求程式輸出乙個整數,表示老師需要補發的糖果數。
樣例輸入:
32 2 4
樣例輸出:
4注意點:
題目文本性語言,先每個人都拿出一半,之後給自己的左手邊的人。
模擬一下就是每個人都拿出來了當前糖果的一半在左手上,之後依次給自己的左手邊的人,不管別人給你的糖果。
你的一半在左手邊,早就是固定好了的。hre[i] = hre[i-1]/2;表示你一輪可以得到的糖果數目,但是不參與你給別人的一半糖果計算中去。
**如下:
#include #include#includeusing namespace std;int a[105],hre[105],ans;
int n,fre;
int main()
}if(flag == 0)
break ;
for(int i=1; i<=n; i++)
for(int i=1; i<=n; i++)}}
printf("%d\n",ans);
return 0;
}
歷屆試題 分糖果
歷屆試題 分糖果 時間限制 1.0s 記憶體限制 256.0mb 問題描述 有n個小朋友圍坐成一圈。老師給每個小朋友隨機發偶數個糖果,然後進行下面的遊戲 每個小朋友都把自己的糖果分一半給左手邊的孩子。一輪分糖後,擁有奇數顆糖的孩子由老師補給1個糖果,從而變成偶數。反覆進行這個遊戲,直到所有小朋友的糖...
歷屆試題 分糖果
歷屆試題 分糖果 時間限制 1.0s 記憶體限制 256.0mb 問題描述 有n個小朋友圍坐成一圈。老師給每個小朋友隨機發偶數個糖果,然後進行下面的遊戲 每個小朋友都把自己的糖果分一半給左手邊的孩子。一輪分糖後,擁有奇數顆糖的孩子由老師補給1個糖果,從而變成偶數。反覆進行這個遊戲,直到所有小朋友的糖...
歷屆試題 分糖果
問題描述 有n個小朋友圍坐成一圈。老師給每個小朋友隨機發偶數個糖果,然後進行下面的遊戲 每個小朋友都把自己的糖果分一半給左手邊的孩子。一輪分糖後,擁有奇數顆糖的孩子由老師補給1個糖果,從而變成偶數。反覆進行這個遊戲,直到所有小朋友的糖果數都相同為止。你的任務是 在已知的初始糖果情形下,老師一共需要補...