问题:99个人,99个馒头,来了一个鲁智深,找个位置把他放进去,然后每逢五的人,吃一个馒头,并且退场,最后让他无法吃。

在讲解数组应用等问题中,为学生展示该问题的求解方法。

问题抽象:

99个馒头,每次分一个
计数器:1-5
指针:0-99(循环)

当前数组元素值0或者1(数组初始值为0,当改变成1时,表明i号元素的和尚分到馒头)

代码如下:

int i=0;//馒头个数
    int j=0;//指针
    int k=1;//计数器
    int a[100]={0};
    while(i<99)
    {
        while(a[j]!=0)//分每个馒头开始,先找到第一个没分到馒头的人
            j=(j+1)%100;
        if(k==5)        //遇到第5人的操作:置数组为1,馒头++,指针向下指j++,重新计数k=1
        {
            a[j]=1;
            printf("The %d th people gets the %d th man tou.\n",j,i);
            i++;
            j=(j+1)%100;
            k=1;
        }                    //非第5人的情况
        else
        {
            k++;
            j=(j+1)%100;
        }
    }

鲁智深吃馒头,约瑟夫环问题相关推荐

  1. 数组的趣味应用-鲁智深吃馒头

    鲁智深吃馒头 据说,鲁智深一天中午匆匆来到开封府大相国寺,想蹭顿饭吃,当时大相国寺有99个和尚,只做了99个馒头.智清长老不愿得罪鲁智深,便把他安排在一个特定位置,之后对所有人说: 从我开始报数(围成 ...

  2. C语言趣味题——鲁智深吃馒头问题

    题目:鲁智深吃馒头 据说,鲁智深一天中午匆匆来到开封府大相国寺,想蹭顿饭吃,当时大相国寺有99个和尚,只做了99个馒头,智清长老不愿得罪鲁智深,便把他安排在一个特定位置,之后对所有人说,从我开始报数( ...

  3. 和尚吃馒头c语言程序,(八十一)约瑟夫环/鲁智深吃馒头

    问题:99个人,99个馒头,来了一个鲁智深,找个位置把他放进去,然后每逢五的人,吃一个馒头,并且退场,最后让他无法吃. 代码: #include int main() { using namespac ...

  4. 猫抓老鼠c语言程序,猫抓老鼠问题C++实现一例(约瑟夫环问题)

    今天偶然在网上看到了猫抓老鼠问题, 当时也没多想,只觉得网上给出的程序的确有很多需要改进的地方, 就闷头闷脑的用 循环链表 和 递归 写了一个算法实现,后来发现 这个问题实际上是经典的约瑟夫环问题的变 ...

  5. python中约瑟夫环程序_Python实现约瑟夫环问题的方法

    本文实例讲述了Python实现约瑟夫环问题的方法.分享给大家供大家参考,具体如下: 题目:0,1,...,n-1这n个数字排成一个圆圈,从数字0开始每次从这个圆圈里删除第m个数字.求出这个圆圈里剩下的 ...

  6. 约瑟夫环问题的两种解法(详解)

    约瑟夫环问题的两种解法(详解) 题目: Josephus有过的故事:39 个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被敌人抓.于是决定了自杀方式,41个人排成一个圆 ...

  7. python约瑟夫环问题给十个学生编号报到3者出列_趣味算法--约瑟夫环问题(示例代码)...

    问题描述 已知n个人(以编号1,2,3,...,n分别表示)围坐在一张圆桌上.指定编号为k的人开始从1报数,数到m的那个人出列:出列那个人的下一位又从1开始报数,数到m的那个人出列:以此规则重复下去, ...

  8. 一文读懂约瑟夫环算法

    2020-05-25 20:13:40 作者 | 扬帆向海 责编 | 王晓曼 出品 | CSDN博客 问题描述 约瑟夫问题(有时也称为约瑟夫斯置换,是一个出现在计算机科学和数学中的问题.在计算机编程的 ...

  9. 面试题小记:1、统计字符串出现的次数,2、约瑟夫环问题

    今天面到了一个比较有意思的笔试题,先记录一下: 1.字符串类似'aaabbccddd',写个方法得出'3a2b2c3d',即统计字符串出现的个数 $arr = str_split('aaabbccdd ...

最新文章

  1. Python开发工具PyCharm个性化设置备份
  2. python怎么自动生成测试报告_python生成接口自动化测试报告模版
  3. 干货 | 当你在携程搜索时,背后的推荐系统是如何工作的
  4. Maven下载+Maven环境变量配置+IntelliJ IDEA配置Maven(详细教程) ,收藏起来吧
  5. 如何解决 Angular custom library module 在 ng build 时无法被识别的错误
  6. Linux debian安装Typora教程
  7. snr matlab,cal snr - MATLAB 论坛讨论区 - EETOP 创芯网论坛 (原名:电子顶级开发网) -...
  8. Java中MVC详解以及优缺点总结
  9. kotlin学习笔记-异常好玩的list集合总结
  10. 第二期: 如何搭建 多用户的平台?(未完)
  11. XCode下的iOS单元测试
  12. 13.企业应用架构模式 --- 对象-关系元数据映射模式
  13. 【Docker】总集篇
  14. ThinkPHP如何URL如何去掉index.php(重写模式)
  15. 趋势linux版本杀毒软件,万万没想到,微软 Linux 版杀软来了
  16. linux 挂载裸设备,centos挂载裸设备问题
  17. 视觉3d中五折幕的震撼这就是沉浸式屏幕
  18. Unity游戏结构与引擎视图
  19. android 语音播报(通过手说tts 实现中文语音播报)
  20. SAP 中利润中心 详细解析

热门文章

  1. mac 删除系统应用
  2. torch.nn.MaxPool1d各参数分析
  3. 还在找免费的能提供HTTPS协议外链的图床?这个开源插件轻松完成
  4. button的几种使用方式
  5. 优盘格式化了怎么恢复里面的数据?
  6. 股票:开盘价 收盘价 涨停价 跌停价
  7. 很好的源码软件列表,有助于学习提高
  8. 重磅!《中国迈向新一代人工智能》全文来了。道翰天琼认知智能平台为您揭秘新一代人工智能。
  9. 【渝粤题库】广东开放大学 文化服务营销管理 形成性考核 (2)
  10. 和睦小镇保卫战服务器位置,植物大战僵尸和睦小镇保卫战隐藏黄金地精及机关位置汇总[多图]...