小孩圍圓圈報數遊戲(C )

2021-10-04 15:37:43 字數 760 閱讀 7409

描述:n個小孩圍成圈,首先輸入乙個值給max,每個小孩手中有乙個密碼(通過輸入賦值),n個小孩按著順序報數,當報的數比max大,這個小孩出列,並將手中的密碼給max,繼續迴圈,直到最後乙個小孩時,此小孩為獲勝者。要求輸出小孩的出圈順序和最後勝利的小孩。要求寫出詳細**和流程圖。

我覺得這個題是跟輸入有關的,如果剛開始的max值比較大,那麼會有不止乙個小孩手中的數字比max小,這樣的話,最後肯定有多於1個小孩還在圈內,沒有被淘汰,不會出現剩下乙個小孩為獲勝者的情況。還有另一種情況,因為是按順序報數的,如果前面的孩子手中的數太大了,那也會導致max的值比較大,留下多於乙個孩子在圈中。

這就對輸入有了很大的限制,如果最終不能只剩下乙個孩子,那麼程式會進入死迴圈。也可以修改程式,輸出最後所有在圈內的孩子。以下**還是根據題意來寫的,感興趣可以修改。

#includeusing namespace std;

struct child;

/*10

11 2

2 23

3 24

4 56

5 10

6 57

7 58

8 59

9 60

10 61

*/int main()

int sum=n;

while(sum>1)

}} }

cout

return 0;

}

Python小遊戲 圍圈報數淘汰

n個人玩遊戲,從第乙個人開始按照1 2 3報數,報到3的人被淘汰,最終剩下的2人為天選之子 取得勝利!小遊戲 1 先確定玩遊戲的總人數 num n int input 請輸入總人數 2 建立總人數的列表 for i in range n 1 print 輸出列表元素 num 檢查驗證列表元素 3 定...

小孩報數問題

description 有n個小孩圍成一圈,給他們從1開始依次編號,現指定從第w個開始報數,報到第s個時,該小孩出列,然後從下乙個小孩開始報數,仍是報到s個出列,如此重複下去,直到所有的小孩都出列 總人數不足s個時將迴圈報數 求小孩出列的順序。input 第一行輸入小孩的人數n n 64 接下來每行...

小孩報數問題

約瑟夫環佇列實現 有n個小孩圍成一圈,給他們從1開始依次編號,現指定從第w個開始報數,報到第s個時,該小孩出列,然後從下乙個小孩開始報數,仍是報到s個出列,如此重複下去,直到所有的小孩都出列 總人數不足s個時將迴圈報數 求小孩出列的順序。input 第一行輸入小孩的人數n n 64 接下來每行輸入乙...