传说约瑟夫当年活下来就是靠快速计算这个问题。

n 个人围成一圈,编号依次为 1,2,3…n。从第一个人开始报数,数到 m 的人出列,再由下一个人重新从 1 开始报数,数到 m 的人再出圈。以此类推,直到所有的人都出列。请输出依次出圈人的编号。

输入格式

两个整数 n,m, 1<=n,m<=100

输出格式

n 个用空格分隔的整数,表示出圈人的编号。

#include<stdio.h>
int main()
{// 约瑟夫环的简单问题 int n,m,d=0,k=0,i,a[100]={0};//随便定义了一个100个内存的数组值为0 scanf("%d%d",&n,&m);//n为人数,m为报号数,k为实际计数,i为原座位顺序数 for(i=1;k!=n;i++)//d为暂时计数(0到m间循环) {if(i>n)//这个步骤可以实现数组像圆圈一样多次重复的循环 {i=1;//i代表每个人原先的顺序位置 }if(a[i]==0)//数组的定义0和1可以实现标记未出局和出局的具体人 {d++;//如果进入循环,暂时计数便+1; if(d==m)//当暂时计数达到出局的位置,令数组值为1,出局 {d=0;//使暂时计数程序循环 a[i]=1;printf("%d",i);//输出出局的具体座位数 if(k!=n)//此处为格式需求,只要不是最后一行,其间输出空格 {printf(" "); }k++;//此处的K递增为出局的人数,该for循环语句的终止条件为出局数=n }}}
}

这个代码建议读者多敲几遍,边理解边敲。

请关注我,真诚地感谢读者的支持,

约瑟夫环(简单版)c语言解决相关推荐

  1. 约瑟夫环问题(C语言循环链表)

    1.约瑟夫环问题(C语言循环链表) 我相信大家都可以画出这个图,知道大体的解题的思想,但是却不知道代码该怎么下手,因此,下面我直接上代码,代码中该注释的地方我都进行了注释,希望到大家有帮助: #inc ...

  2. 约瑟夫环c语言代码顺序存储,顺序表实现约瑟夫环地问题,C语言.doc

    顺序表实现约瑟夫环地问题,C语言 计算机科学与工程学院 PAGE PAGE 2 <算法与数据结构>试验报告 计算机科学与工程学院 <算法与数据结构>试验报告[一] 专业班级 1 ...

  3. 简单利用C语言 解决停车场管理问题

    简单利用C语言 解决停车场管理问题 设有一个可以停放n辆汽车的狭长停车场,它只有一个大门可以供车辆进出.车辆按到达停车场时间的先后次序依次从停车场最里面向大门口处停放 (即最先到达的第一辆车停放在停车 ...

  4. C++约瑟夫环改良版

    约瑟夫环:约瑟夫环(约瑟夫问题)是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围.从编号为k的人开始报数,数到m的那个人出列:他的下一个人又从1开始报数,数到m的 ...

  5. c语言约瑟夫环分函数,c语言实现约瑟夫环问题

    <c语言实现约瑟夫环问题>由会员分享,可在线阅读,更多相关<c语言实现约瑟夫环问题(16页珍藏版)>请在人人文库网上搜索. 1.一)基本问题1问题描述设有编号为1,2,小的n ...

  6. 约瑟夫环问题(C语言数组和循环链表)

    本文将用两种方式(数组和循环链表)求解约瑟夫环问题,为了更好理解,本文将从洛谷的P1996 约瑟夫问题出发. 题目描述 n个人围成一圈,从第一个人开始报数,数到 m的人出列,再由下一个人重新从1开始报 ...

  7. 约瑟夫环问题(c语言实现)

    约瑟夫环问题 问题描述 算法 1. 非递归法 算法理解 程序 2. 递归法 程序 3. 循环双链表 思路 程序 问题描述 有N个人,编号为 1-n,围成一个圈,编号1的人手上有一个热狗开始向下一个人传 ...

  8. 约瑟夫环问题(c语言)

    约瑟夫问题是一个有趣的游戏.有n个人围成一圈,从第一个人开始沿顺时针方向报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那个人? 比如输入5,输出4 思路:循环链表,模拟运行,见 ...

  9. 单链表实现约瑟夫环(JosephCircle)(C语言)

    //使链表形成一个环 void FormCyc(PSListNode *pHead) {if (NULL == pHead){return;}else{PSListNode pNode = *pHea ...

  10. 1089 狼人杀-简单版(C语言实现)

    以下文字摘自<灵机一动·好玩的数学>:"狼人杀"游戏分为狼人.好人两大阵营.在一局"狼人杀"游戏中,1 号玩家说:"2 号是狼人" ...

最新文章

  1. spring boot 不连接数据库启动
  2. python转csv_python脚本如何将Excel文件转为csv文件(代码)
  3. python中导入的模块不能直接当方法用,需要采用模块.方法名或模块 as 别名,再别名.方法的形式
  4. 解决oracle主键问题,解决renren-security使用oracle主键问题
  5. [python学习笔记] pyinstaller打包pyqt5程序无法运行
  6. spring-boot 定时任务
  7. 论文浅尝 | 用于嵌套命名实体识别的二部平面图网络(BiFlaG)
  8. 004:2的幂次方表示
  9. 24小时BTC合约大单成交1.52亿美元 现货大单成交1亿美元
  10. Hibernate使用createSqlQuery进行模糊查询时找不到数据
  11. 论文赏析[TACL19]生成模型还在用自左向右的顺序?这篇论文教你如何自动推测最佳生成顺序
  12. 智能家居新体验:什么样的数据让语音交互更智慧
  13. markdown在.html中生成目录
  14. 华为手机桌面有计算机的数字,华为手机桌面上信息图标上显示的数字角标如何关闭...
  15. 【oracle】查询===Oracle数据库 子查询(嵌套查询)简单例子
  16. SPI FLASH(W25Q128BV) 包含SPI工作原理
  17. 人工智能 对比试验_【AI测试】人工智能 (AI) 测试--第二篇
  18. unity中的C#编程-零基础(Unity2017)
  19. chrome设置黑暗模式的4种方法
  20. 408-机组一些小知识点

热门文章

  1. html缓存效果代码,html5缓存(示例代码)
  2. HTTP和HTTPS的理解
  3. 算法-满足条件的数字放在新数组
  4. php将mysql转换为json字符串_在PHP中将MySQL记录集转换为JSON字符串
  5. 带网格的_雨花区井圭路社区开展消防安全网格化实战演练活动
  6. c语言 overflow_一文读懂:C语言编程中“堆”和“栈”的七大区别
  7. 【java笔记】泛型定义和使用
  8. 【动态规划】计蒜客:跳木桩(最长递增子序列的变体)
  9. LeetCode 230二叉搜索树中第k小的元素
  10. FFmpeg源代码简单分析:av_write_trailer()