#include<iostream.h>
struct my
{
int x;
my *next;
};
int main()
{
my *p,*q,*head;
int n,i=0,sum=0,frist,b;
cout<<"请依次输入开始的总人数,从第几个开始,报几删除 :"<<endl;
cin>>n>>frist>>b;
cout<<"结果序列显示 :";
for(i=0;i<n;i++)
{
p=new my;
p->x=i+1;
if(i==0)
head=p;
else q->next=p;
q=p;
}
q->next=head;
q=head;
for(i=1;i<frist;i++)
q=q->next;
i=0;
do{
i++;
if(i==b)
{
i=0;
p->next=q->next;
sum++;
cout<<q->x<<' ';
}
p=q;
q=q->next;
}while(sum<n);
}
运行结果:
请依次输入开始的总人数,从第几个开始,报几删除 :
9 1 5
结果序列显示 :5 1 7 4 3 6 9 2 8
正文
约瑟夫环2006-08-10 10:04:00
【评论】 【打印】 【字体:大 中 小】 本文链接:http://blog.pfan.cn/manbuyuduan/17435.html
阅读(4182) | 评论(0)
版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!
评论