猴子选大王案例编程。

编程要求:猴子选大王:一堆猴子都有编号,编号是1,2,3 …m ,这群猴子(m个)按照1–m的顺序围坐一圈,从第1开始数,每数到第n个(n<m),该猴子就要离开此圈,这样依次下来,直到圈中只剩下最后一只猴子,则该猴子为大王。 编程输出该猴子大王的编号。

#include <stdio.h>
int main()
{ int p[999];int i,j,t;int m,n;scanf("%d %d", &m, &n);for (i=0; i<m; i++)        p[i]=1;    //把所有猴子都先定义为1,此时所有猴子都没出圈t=-1;         // 数组里从0开始,所以为了后面的t+1要先定义t=-1(这里从后面用到了时回过来定义,直接想,想不起来)                 printf("大王:");for (i=1; i<=m; i++)        {j=1;     //这个是为了数到n(不知道咋解释,自己理解吧)while(j<=n) //数了n个猴子后跳出,开始淘汰{t=(t+1)%m;  //看下一个,取整是为了超出m后能循环      if (p[t]==1) j++;//当经过的猴子都是在圈里,也就是1的时候正常参加循环,当为0的时候就代表没在群里,j就不加1,也就是直接跨过去}p[t]=0; //数到n个时,把第n个变成0,代表出圈 }printf("%d ",t+1); //最后一个出圈的,也就是最后的大王printf("\n");return 0;
}

运行结果

关注公众号,了解更多。

用C语言编写猴子选大王程序(数据结构)相关推荐

  1. 猴子选王c语言链表程序代码,数据结构(C语言)用栈和链表编写猴子选大王程序...

    <数据结构(C语言)用栈和链表编写猴子选大王程序>由会员分享,可在线阅读,更多相关<数据结构(C语言)用栈和链表编写猴子选大王程序(3页珍藏版)>请在人人文库网上搜索. 1.i ...

  2. 猴子选王c语言链表程序代码,C语言程序设计-猴子选大王[链表应用]

    2032 猴子选大王 Description 有N只猴子,从1~N进行编号.它们按照编号的顺时针方向排成一个圆圈,然后从第一只猴子开始报数.第一只猴子报的第一个数字为1,以后每只猴子报的数字都是它们前 ...

  3. 数据结构猴子选大王java_数据结构例子-猴子选大王

    约瑟夫问题(猴子选大王):   n只猴子要选大王,选举办法如下:所有猴子按1,2,-,n编号围坐一圈,从第一号开始按1,2,-,m报数,凡报m号的推出圈外,如此循环报数,直到圈内剩下一只猴子时,这只猴 ...

  4. 信息学奥赛C++语言:猴子选大王

    [题目描述] 在猴子王国里,一年一度的选大王时间到了,今年的大王由谁来担任呢?大家都争着想当,可是大王只能由一个担任,争了半天都没有定论,最后由一只较有权威的老猴子想了一个较公平公正的办法.它的办法就 ...

  5. (C语言)猴子选大王

    问题描述 要从n只猴子中选出一位大王.它们决定使用下面的方法: n只猴子围成一圈,从1到n顺序编号.从第q只猴子开始,从1到m报数,凡报到m的猴子退出竞选,下一次又从退出的那只猴子的下一只开始从1到m ...

  6. 主元排序法c语言程序,C语言算法竞赛入门(二)---数组元素移动 、排序问题 、猴子选大王问题...

    数组元素移动 [问题描述]调整输入数组A[0..n],将其分为两部分,左边所有元素为奇数,右边所有元素为偶数 [输入形式]a0,b1,b2,a1,a2,b3,a3,a4 [输出形式]a0,a1,a2, ...

  7. 7-28 猴子选大王 (C语言)

    7-28 猴子选大王 (20 分)一群猴子要选新猴王.新猴王的选择方法是:让N只候选猴子围成一圈,从某位置起顺序编号为1~N号.从第1号开始报数,每轮从1报到3,凡报到3的猴子即退出圈子,接着又从紧邻 ...

  8. 猴子选大王(c语言)

    猴子选大王 描述 格式 样例 题解及详细注释 描述 有n只猴子(编号从1到n),按顺时针方向围成一圈选大王. 规则是从第1号开始报数,一直数到m,数到m的猴子退出圈外,剩下的猴子再接着从1开始报数.就 ...

  9. c语言-猴子选大王-约瑟夫问题(队列,链表,数组)

    猴子选大王 前言:初读此题,根据题意,顺势想到了用刚学的数据结构中的循环队列及循环链表,便想借此来熟练一下新学知识. 题目描述: 一群猴子要选新猴王.新猴王的选择方法是:让N只候选猴子围成一圈,从某位 ...

最新文章

  1. windows下mysql启动脚本
  2. (转)DOS批处理的字符串功能
  3. 美国第一大移动运营商的5G战略:已进入预商用测试
  4. 一条查询SQL 语句是如何执行的?
  5. 研究生从事学术研究的20条法则:导师错的时候不多!
  6. PHPmyadmin 和 MySQL 的配置笔记
  7. 政务大数据需要避免三个误区
  8. 关于iis w3wp.exe
  9. MATLAB软件基础
  10. CCNP实战教程之 OSPF中为什么将环回口通告为主机路由?
  11. jdk8官网下载地址
  12. #python#生物信息学 提取文本某列信息 #提取氨基酸序列并且提取氨基酸结构序列与之对应
  13. 如何区分IPEX一代/二代/三代/四代/五代
  14. 4.28日机器人队任务
  15. Java-判断回文数
  16. GPU 编程 CPU 异同点_分析师:英特尔(INTC.US)GPU不会构成威胁
  17. 软件测试用例 单元测试,软件单元测试的测试用例编写方法
  18. 一文通关苦涩难懂的Java泛型
  19. Google Earth Engine(GEE)——因阈值设定,无法加载影像放大后的影像
  20. Opencv学习笔记(九)光流法

热门文章

  1. MySQL的Limit子句
  2. Vue.js 基础学习
  3. 关于MX5在Mac无法正常使用开发者模式的解决方案
  4. mongodb 3.0版本安装
  5. Apache SolrCloud安装
  6. jquery/原生js/css3 实现瀑布流以及下拉底部加载
  7. 微信小程序图片选择,预览和删除
  8. Python(65)_写函数,判断用户传入列表的长度,若大于2,则仅保留前两个长度的内容,并将其返回给调用者...
  9. Vue2.0 的漫长学习ing-1-5
  10. logstash的output插件