求大家帮忙解答一下这个问题?

huangxw000 2007-10-20 02:18:58
13个人围成一圈,从第1个开始顺序报数1,2,3.凡报道3的自动退出圈子.按退队顺序打印出退队人员名单,并找出最后留在圈子中的人的原来的序号.
...全文
139 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
kakabulusi 2007-10-21
  • 打赏
  • 举报
回复
用循环链表来解决,
循环控制条件是p->next !=p ;
yihucha166 2007-10-20
  • 打赏
  • 举报
回复
又见约瑟夫问题 。。
sding 2007-10-20
  • 打赏
  • 举报
回复
一个出圈问题,用链表很好解决的
C1053710211 2007-10-20
  • 打赏
  • 举报
回复
最后一个0是13,是mol出来的。
#include <stdio.h>
#include <string.h>
#define len 13
int main()
{
int i,n,s;
bool a[len];
memset(a,false,sizeof(a));
n=0;
i=0;
s=0;
while(n<13)
{
if(!a[i%len]) s++;
if(s==3)
{
a[i%len]=true;
printf("%d\n",(i+1)%len);
s=0;
n++;
}
i++;
}
getchar();
return 0;
}
gs0038 2007-10-20
  • 打赏
  • 举报
回复
1-2-3-4-5-6-7-8-9-10-11-12-13
3-6-9-12-2-7-11-4-10-5-8-13
最后一个是13

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧