#include <iostream>
typedef struct LNode
{
int data;
struct LNode *link;
}LNode, *LinkList;
void JosePhus(int n, int k, int m)
{
LinkList p,r,curr;
p=(LNode*)malloc(sizeof(LNode));
p->data=1;
p->link=p;
curr=p;
for (int i=2;i<n+1;i++)
{
LNode *t=(LNode*)malloc(sizeof(LNode));
t->data=i;
t->link=curr->link;
curr->link=t;
curr=t;
}
while (--k)
{
p=p->link;
}
while (n--)
{
for (int i=m;--i;r=p,p=p->link);
r->link=p->link;
printf("%d->",p->data);
free(p);
p=r->link;
}
}
int main(int argc, char* argv[])
{
printf("Hello World!\n");
JosePhus(13,4,2);
return 0;
}
posted on 2009-07-19 11:34
老马驿站 阅读(100)
评论(0) 编辑 收藏 引用 所属分类:
c++