#include<iostream>
using namespace std;
const int MAX=100;
void Josephus(int m,int n){
int r[MAX]; //存1~m
int i,l,count;
for(int i=0;i<m;i++){ //给数组r赋值
r[i]=i+1;
}
count=0; //count记录出环人数
l=0; //l记录当前报数 即游标
i=0; //i回到起始位置
while(count<=m){
if(r[i]>0){
l++;
if(l==n){
cout<<r[i]<<" ";
r[i]=0;
count++;
l=0;
}
}
i=(i+1)%m;
}
}
int main(){
int m,k;
cout<<"please input m and k:"<<endl;
cin>>m>>k;
Josephus(m,k);
return 0;
}
数据结构 约瑟夫环
最新推荐文章于 2022-08-16 22:19:36 发布