#include <iostream>
#include <cstdlib>
using namespace std;
#define initsize 50
typedef struct Lnode{
int data;
struct Lnode *next;
}Lnode,*Linklist;
int main(int argc, char** argv) {
Linklist l;
l=(Linklist)malloc(sizeof(Lnode));
int x=1;
int m,n;
cin>>m>>n;
Lnode *s,*r;
r=l;
while(x<=m){
s=(Lnode *)malloc(sizeof(Lnode));
s->data=x;
r->next=s;
r=s;
x++;
}
r->next=l->next;
r=l;
int t=0;//计数器
while(s->next!=s){
s=r;
r=r->next;
t++;
while(t!=0&&t%n==0){
cout<<r->data<<" ";
s->next=r->next;
t=0;
}
if(s->next==s)
cout<<s->data;
}
return 0;
}
约瑟夫环问题
最新推荐文章于 2024-09-16 17:46:36 发布