数据结构约瑟夫环问题 c语言
编号为1,2,···,n的n个人围坐在一圆桌旁,每人持有一个正整数的密码。从第一个人开始报数,报到一个预先约定的正整数m时,停止报数,报m的人退席,下一个人又重新从1开始...
编号为1,2,···,n的n个人围坐在一圆桌旁,每人持有一个正整数的密码。从第一个人开始报数,报到一个预先约定的正整数m时,停止报数,报m的人退席,下一个人又重新从1开始报数,依此重复,直至所有的人都退席。编一程序输出他们退席的编号序列。例如,设m=20,n=7,7个人的密码依次是3,1,7,2,4,8,4,则退席的人的编号依次为6,1,4,7,2,3,5。
要求是c语言写
之前写了一个但是不得 能帮忙看一下或者是 有可行的代码给我对着看
发现这里贴不上代码了 展开
要求是c语言写
之前写了一个但是不得 能帮忙看一下或者是 有可行的代码给我对着看
发现这里贴不上代码了 展开
2个回答
2016-10-24
展开全部
你看下我以前写的这个吧,差不多,你稍微改下就行,http://wenku.baidu.com/view/34859501d0d233d4b14e699f
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
ZESTRON
2024-09-04 广告
2024-09-04 广告
在Dr. O.K. Wack Chemie GmbH,我们高度重视ZESTRON的表界面分析技术。该技术通过深入研究材料表面与界面的性质,为提升产品质量与可靠性提供了有力支持。ZESTRON的表界面分析不仅涵盖了相变化、化学反应、吸附与解吸...
点击进入详情页
本回答由ZESTRON提供
展开全部
代码不难写,但不知道密码怎么获得。
更多追问追答
追问
7个人的密码依次以键盘输入
追答
#include "stdio.h"
#include "stdlib.h"
int main(void){
int *p,m,n,i,k,x;
printf("Please enter n(people) and m(reservation)...\n");
scanf("%d%d",&n,&m);
if(!(p=(int *)malloc(n*sizeof(int)))){
printf("Application memory failure...\n");
exit(0);
}
printf("Please enter %d secret number in turn...\n",n);
for(i=0;i<n;scanf("%d",p+i++));
printf("\nOut the order:\n");
x=n,k=i=0;
while(x){
if(p[i] && ++k==m){
printf(n-x ? " %d" : "%d",i+1);
m=p[i];
p[i]=k=0;
x--;
}
++i%=n;
}
free(p);
printf("\n\n");
return 0;
}
这个代码人数、预约首数、和密码都由键盘输入。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询