C語言 篩選號碼

2021-09-07 09:52:36 字數 893 閱讀 1715

演算法訓練 篩選號碼  

時間限制:1.0s   記憶體限制:512.0mb

問題描述

有n個人圍成一圈,順序排號(編號為1到n)。從第1個人開始報數(從1到3報數),凡報到3的人退出圈子。從下乙個人開始繼續報數,直到剩下最後乙個人,遊戲結束。

問最後留下的是原來第幾號的那位。

舉個例子,8個人圍成一圈:

1 2 3 4 5 6 7 8

第1次報數之後,3退出,剩下:

1 2 4 5 6 7 8 (現在從4開始報數)

第2次報數之後,6退出,剩下:

1 2 4 5 7 8 (現在從7開始報數)

第3次報數之後,1退出,剩下:

2 4 5 7 8 (現在從2開始報數)

第4次報數之後,5退出,剩下:

2 4 7 8 (現在從7開始報數)

第5次報數之後,2退出,剩下:

4 7 8 (現在從4開始報數)

第6次報數之後,8退出,剩下:

4 7 (現在從4開始報數)

最後一次報數之後,4退出,剩下:

7.所以,最後留下來的人編號是7。

輸入格式

乙個正整數n,(1輸出格式

乙個正整數,最後留下來的那個人的編號。

樣例輸入 8

樣例輸出 7

資料規模和約定

對於100%的資料,1

1 #include2

intmain()

19if(q==1

) 22}23

for(i=0;i//

遍歷陣列,輸出不為0的元素即為結果

24if(a[i]!=0)27

}28return

0;//

程式結束

29 }

演算法訓練 篩選號碼

問題描述 有n個人圍成一圈,順序排號 編號為1到n 從第1個人開始報數 從1到3報數 凡報到3的人退出圈子。從下乙個人開始繼續報數,直到剩下最後乙個人,遊戲結束。問最後留下的是原來第幾號的那位。舉個例子,8個人圍成一圈 1 2 3 4 5 6 7 8 第1次報數之後,3退出,剩下 1 2 4 5 6...

演算法訓練 篩選號碼 (約瑟夫環問題)

問題描述 有n個人圍成一圈,順序排號 編號為1到n 從第1個人開始報數 從1到3報數 凡報到3的人退出圈子。從下乙個人開始繼續報數,直到剩下最後乙個人,遊戲結束。問最後留下的是原來第幾號的那位。舉個例子,8個人圍成一圈 1 2 3 4 5 6 7 8 第1次報數之後,3退出,剩下 1 2 4 5 6...

試題 演算法訓練 篩選號碼 藍橋杯

題目描述 資源限制 時間限制 1.0s 記憶體限制 512.0mb 問題描述 有n個人圍成一圈,順序排號 編號為1到n 從第1個人開始報數 從1到3報數 凡報到3的人退出圈子。從下乙個人開始繼續報數,直到剩下最後乙個人,遊戲結束。問最後留下的是原來第幾號的那位。舉個例子,8個人圍成一圈 1 2 3 ...