问题 4447 --Josephus问题(完善程序)

4447: Josephus问题(完善程序)★★

时间限制: 1 Sec  内存限制: 128 MB
提交: 429  解决: 269
[提交][状态][命题人:]

题目描述

有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(int i=0;i<n;i++)
		if(F[i]==0)
			ans=i;
	cout<<ans<<endl;
    return 0;
}

输入

输出

输出五个选项的答案,大写字母,单独一行,一共五行

提示

来源

 

[提交][状态]