← 查看本卷题目
组合题5 个小题
已作答 0 / 5

(1)(Josephus 问题) 有 nn 个人围成一个圈,依次标号 00 至 n−1n - 1。从 00 号开始,依次 0,1,0,1,…0 , 1 , 0 , 1 , \dots 交替报数,报到 11 的人会离开,直至圈中只剩下一个人。求最后剩下人的编号。

试补全模拟程序。

 #include <iostream>using namespace std; const int MAXN = 1000000;int F[MAXN]; int main() {    int n;    cin >> n;    int i = 0, p = 0, c = 0;    while (①) {        if (F[i] == 0) {            if (②) {                F[i] = 1;                ③;            }            ④;        }        ⑤;    }    int ans = -1;    for (i = 0; i < n; i++)        if (F[i] == 0)            ans = i;    cout << ans << endl;    return 0;}
第 38 题单选题原卷 3 分

⑤处应填( )

填写答案