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

2021-10-03 09:32:24 字數 1069 閱讀 4269

題目描述:

資源限制

時間限制: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,(1ac**:

#include

#include

#include

#include

#include

#include

using

namespace std;

int a[

10000];

int vis[

10000];

//記錄資料是否訪問過

intmain()

}if(num==1)

break;if

(i==n)

i=1;

else

i++;}

for(i=

1;i<=n;i++)if

(vis[i]==0

) cout<; cout

}

演算法訓練 篩選號碼

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

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

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

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

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