不是VIP会员,不能显示答案

题目解答

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



试补全模拟程序。



#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 (___(1)___) {

if(F[i] == 0 ) {

if(___(2)___) {

F[i] = 1;

___(3)___;

}

___(4)___;

}

___(5)___;

}

int ans = -1;

for (i =0 ; i < n; i++)

if (F[i] == 0)

ans = i;

cout << ans << endl;

return 0;

}




选择题

1) ⑴处应填( )。

2) ⑵处应填( )。

3) ⑶处应填( )。

4) ⑷处应填( )。

5) ⑸处应填( )。
考点:
分析:
解答:
评论:
老师: