演算法訓練 篩選號碼

2021-08-27 05:53:40 字數 799 閱讀 9112

問題描述

有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輸出格式

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

樣例輸入

樣例輸出

資料規模和約定

對於100%的資料,1#define maxn 10000

int main()

j = 0;

while(1)

}if(m == 1)

break;

n = m;

}printf("%d", a[1]);

return 0;

}

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

問題描述 有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 ...

藍橋杯 ALGO 75 演算法訓練 篩選號碼

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