正文

 约瑟夫环2006-08-10 10:04:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/manbuyuduan/17435.html

分享到:

#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 

阅读(4182) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册