win10镜之边缘停止工作:约瑟夫环问题谁会呀?帮帮我,告诉我答案

来源:百度文库 编辑:高校问答 时间:2024/04/29 07:41:48
问题如下:
编号为1,2,......,n的n个人按照顺时针方向围坐一圈,每个人有且只有一个密码(正整数)。一开始任选一个正整数作为报数上限值,从第一个人开始顺时针方向自1开始报数,报到m时停止报数。报m 的人出列,将他的密码作为新的m值,从他在顺时针方向的下一个人开始重新报数,如此下去,直到所有人全部出列为止。设计一个程序来求出出列顺序。(用C++语言)

你把问题描述清楚我们才能帮你啊,你把完整的问题拿来
约瑟夫环有很多的

#include<iostream>
using namespace std;
int jsf[100];
int main(){
int n,m,t,cl=0;
//input---------
cin>>n;
t=n;
for(int i=0; i<n; i++)
cin>>jsf[i];
cin>>m;
//--------------
while(t){
for(int i=cl,j=0; ; i++){
if(jsf[i%n]) j++;
if(m==j) {
cl=i%n+1;
cout<<cl<<" ";
m=jsf[i%n];
jsf[i%n]=0;
break;
}
}
t--;
}
}

.