数据结构关于约瑟夫环的程序设计

一。设计目的掌握循环链表的结构特点及有关概念掌握循环链表建立和删除二设计内容和要求利用循环链表求约瑟夫环的出列顺序,要求:1,2,3,……n的n个人按顺时针方向围坐一圈,... 一。设计目的掌握循环链表的结构特点及有关概念掌握循环链表建立和删除二 设计内容和要求利用循环链表求约瑟夫环的出列顺序,要求:1,2,3,……n 的n个人按顺时针方向围坐一圈,每个人持有一个密码(正整数),一开始任选一个正整数作为报数上限m,从第一个人开始顺时针方向自1开始顺序报数,报到m时停止报数,此时报m的人出列,并将他的密码作为新的m值,从他的下一个人开始按顺时针方向重新从1报数,直到所有的人全部出列为止。 调的程序要可以运行正常才发给我,我们老师要的,简单容易看懂得最好,如果可以请附带一些简单解释告诉我你一些语句表示的什么,至少让我看懂吧, 成功后我再追加20分,紧急啊,明天中午就交了,各位大哥大姐们拜托了…… 不要再数据结构书上抄给我,一定要自己做的啊,如果在其他网址搜到雷同结果不给分。总之,要独一无二 展开
 我来答
匿名用户
2013-09-17
展开全部
程序代码:#include <iostream.h>
void main()
{
int i,n,m;
int s=0,p=0;
int a[20];//最大人数
while(1)
{
cout<<"Please input person number:"<<endl;
cin>>n;
cout<<"Please input m:"<<endl;
cin>>m; if(n<1||n>20)
{
cout<<"n too small or too large~!"<<endl;
break;

}
for(i=0;i<n;i++)
a[i]=1; for(i=0;i<n;i++,i%=n)
{
s+=a[i];
if(s==m)
{
s=0;a[i]=0;p++;
cout<<p<<"--->"<<i+1<<endl;
if(p==n)break;
}
}
}
}执行结果:
景联文科技
2024-06-11 广告
杭州景联文科技有限公司专注于大模型数据集的研发与应用。我们深知,在人工智能飞速发展的时代,数据是驱动模型优化的核心动力。因此,我们致力于构建丰富、多元的大模型数据集,涵盖各行各业,为AI模型提供充足的“养分”。通过不断积累与优化,我们的数据... 点击进入详情页
本回答由景联文科技提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式