分糖果問題 藍橋杯

2021-07-25 07:42:37 字數 608 閱讀 5115

問題描述

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

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

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

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

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

輸入格式

程式首先讀入乙個整數n(2輸出格式

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

樣例輸入3

2 2 4

樣例輸出

4#include

#include

int equal(int n,int a);

int main()

while(1)

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

}for(i=0; i

a[n-1]=a[n-1]+b;

if(equal(n,a)==1)break;

}printf("%d",count);

return 0;

}int equal(int n,int a)

return 1;

}

藍橋杯 分糖果

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

藍橋杯 分糖果

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

分糖果 藍橋杯

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