有n個小朋友圍坐成一圈。老師給每個小朋友隨機發偶數個糖果,然後進行下面的遊戲:
每個小朋友都把自己的糖果分一半給左手邊的孩子。
一輪分糖後,擁有奇數顆糖的孩子由老師補給1個糖果,從而變成偶數。
反覆進行這個遊戲,直到所有小朋友的糖果數都相同為止。
你的任務是**在已知的初始糖果情形下,老師一共需要補發多少個糖果。
輸入格式
程式首先讀入乙個整數n(2輸出格式
要求程式輸出乙個整數,表示老師需要補發的糖果數。
樣例輸入
32 2 4
樣例輸出
給你每乙個孩子現在擁有的糖果數目,讓你求出來最後老師補充的糖果數目,那麼就直接簡單的模擬一下;
但是這道題要注意思路的轉變,每一次給左邊的孩子的糖果數是現在自己手中擁有的偶數個糖果的一半,而不是進行過變化後的糖果數,對於糖果是不是偶數個,可以直接在把糖果分半的時候進行一下判斷;
#include#include#includeusing namespace std;
int a[101];
int n;
int pan()//判斷每個小朋友的糖果數目是否是一樣的;
return 1;//相同;
}int main()
while(1)
a[i]/=2;//分半;
}int t=a[0];
for(int i=0;ia[n-1]+=t;//注意一圈的頭尾;
}printf("%d\n",sum);
}return 0;
}
歷屆試題 分糖果
歷屆試題 分糖果 時間限制 1.0s 記憶體限制 256.0mb 問題描述 有n個小朋友圍坐成一圈。老師給每個小朋友隨機發偶數個糖果,然後進行下面的遊戲 每個小朋友都把自己的糖果分一半給左手邊的孩子。一輪分糖後,擁有奇數顆糖的孩子由老師補給1個糖果,從而變成偶數。反覆進行這個遊戲,直到所有小朋友的糖...
歷屆試題 分糖果
歷屆試題 分糖果 時間限制 1.0s 記憶體限制 256.0mb 問題描述 有n個小朋友圍坐成一圈。老師給每個小朋友隨機發偶數個糖果,然後進行下面的遊戲 每個小朋友都把自己的糖果分一半給左手邊的孩子。一輪分糖後,擁有奇數顆糖的孩子由老師補給1個糖果,從而變成偶數。反覆進行這個遊戲,直到所有小朋友的糖...
歷屆試題 分糖果
問題描述 有n個小朋友圍坐成一圈。老師給每個小朋友隨機發偶數個糖果,然後進行下面的遊戲 每個小朋友都把自己的糖果分一半給左手邊的孩子。一輪分糖後,擁有奇數顆糖的孩子由老師補給1個糖果,從而變成偶數。反覆進行這個遊戲,直到所有小朋友的糖果數都相同為止。你的任務是 在已知的初始糖果情形下,老師一共需要補...