| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 8825 人关注过本帖
标题:约瑟夫问题
只看楼主 加入收藏
吴珂
Rank: 1
等 级:新手上路
帖 子:16
专家分:2
注 册:2010-3-31
结帖率:50%
收藏
已结贴  问题点数:10 回复次数:6 
约瑟夫问题
标题: 约瑟夫环
时 限: 10000 ms
内存限制: 10000 K
总时限: 50000 ms
描述: 约瑟夫环
编号为1,2,3,……,n的n个人按顺时针方向围坐一圈。任选一个正整数作为报数上限m,从第一个人开始按顺时针方向自1开始顺序报数,报到m时停止报数。报m的人出列,从他在顺时针方向上的下一个人开始重新从1报数,如此下去,直至所有人全部出列为止。设计程序输出出列顺序。
输入: 人数n 报数上限m
人员记录1 (格式为:姓名 学号 性别 年龄 班级 健康状况)
人员记录2

人员记录n
输出: 第1次报数出列的人员记录
第2次报数出列的人员记录

第n次报数出列的人员记录
输入样例: 5 3
安弥邵 10000001 女 28 计43 一般
宰觅 10000002 男 23 计79 健康
顾健 10000003 男 27 计29 一般
宓顽芳 10000004 女 20 计17 健康
能纸垄 10000005 男 18 计11 健康
 
输出样例: 顾健 10000003 男 27 计29 一般  
安弥邵 10000001 女 28 计43 一般  
能纸垄 10000005 男 18 计11 健康  
宰觅 10000002 男 23 计79 健康  
宓顽芳 10000004 女 20 计17 健康
提示: 循环表
搜索更多相关主题的帖子: 约瑟夫 
2010-05-26 19:54
zansunny
Rank: 2
来 自:石家庄
等 级:论坛游民
帖 子:60
专家分:72
注 册:2010-5-30
收藏
得分:1 
//   N个人围成一圈,从第一个开始报数,第M个将出列,最后剩下一个,其余人都将已出列。问出列的顺序?例如N=6,M=5,出列的序号为5,4,6,2,3。最后剩下1号。
 
#include <stdio.h>
#include <stdlib.h>
main()
{
  int a[50],i,n,m,j,t;
      scanf("%d%d",&n,&m);
      for(i=1;i<=n;i++)
      {
       a[i]=i;
      }
      i=0;
      while(n>1)
      {
      i+=m;
   i%=n;
   if(i==0)
   i=n;
   t=a[i];
   for(j=i;j<n;j++)
      a[j]=a[j+1];
   a[n]=t;
   printf("%d",a[n]);
   i--;
   n--;
   }
   getch();
}

 
完全正确

               本来无邪的笑容现在却成了掩饰的工具  、  既然是戏何必认真
2010-05-30 17:00
吴冬
Rank: 2
来 自: 湖南岳阳
等 级:论坛游民
帖 子:33
专家分:55
注 册:2010-5-22
收藏
得分:1 
二楼的不错
2010-05-31 18:28
stame01
Rank: 2
等 级:论坛游民
帖 子:25
专家分:18
注 册:2010-4-9
收藏
得分:1 
有点难,二楼的挺好。
2010-05-31 19:38
孔凡龙king
Rank: 1
等 级:新手上路
帖 子:82
专家分:4
注 册:2009-5-7
收藏
得分:1 
程序代码:
/*编号为1,2,3,……,n的n个人按顺时针方向围坐一圈。任选一个正整数作为报数上限m,从第一个人开始按顺时针方向自1开始顺序报数,报到m时停止报数。报m的人出列,从他在顺时针方向上的下一个人开始重新从1报数,直到剩下最后一个人,输出最后一个人的号码*/
#include <stdio.h>

int main()
{
  int n, m, i, s=0;
  printf ("N M = "); scanf("%d%d", &n, &m);
  for (i=2; i<=n; i++) s=(s+m)%i;
  printf (“The last one is %d\n", s+1);

}
2010-05-31 19:57
小润
Rank: 2
等 级:论坛游民
帖 子:5
专家分:16
注 册:2010-6-15
收藏
得分:0 
  不明白
2010-06-15 02:59
李筱馨
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2016-10-22
收藏
得分:0 
回复 2楼 zansunny
为什么编译说没有明确定义getch(),而且没有返回值,可不可以打上注释,解释下,谢谢
2016-10-22 13:47
快速回复:约瑟夫问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025820 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved