【问题描述】

要从n只猴子中选出一位大王。它们决定使用下面的方法:
n只猴子围成一圈,从1到n顺序编号。从第q只猴子开始,从1到m报数,凡报到m的猴子退出竞选,下一次又从退出的那只猴子的下一只开始从1到m报数,直至剩下的最后一只为大王。请问最后哪只猴子被选为大王。
【输入形式】

控制台输入三个整数n,m,q。
【输出形式】

输出最后选为大王的猴子编号。
【样例输入】

7  4  3

【样例输出】

4

【样例说明】

输入整数n = 7,m = 4,n = 3,输出4

#include<stdio.h>
int main()
{int n,m,q,a[20],i,M,N;scanf("%d %d %d",&n,&m,&q); for(i=1;i<=n;i++)a[i]=1;for(i=q,N=n,M=0;i>0;i++){if(a[i]==1)M++;if(M==m){a[i]=0;N--;M=0;}if(a[i]==1 && N==1){printf("%d",i);break;}if(i==n)i=0;}return 0;
}

定义数组,元素的值为1代表猴子在场,值为0代表猴子淘汰,利用循环重复淘汰直至剩余猴子数为1,输出仍在场的猴子(数组元素)编号

C语言编程题目:猴子选大王相关推荐

  1. C语言每日一题-PTA基础编程题-7-28 猴子选大王

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

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

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

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

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

  4. 用C语言编写猴子选大王程序(数据结构)

    猴子选大王案例编程. 编程要求:猴子选大王:一堆猴子都有编号,编号是1,2,3 -m ,这群猴子(m个)按照1–m的顺序围坐一圈,从第1开始数,每数到第n个(n<m),该猴子就要离开此圈,这样依 ...

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

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

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

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

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

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

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

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

  9. PTA基础题目集 7-28 猴子选大王 (20 分)

    一群猴子要选新猴王.新猴王的选择方法是:让N只候选猴子围成一圈,从某位置起顺序编号为1~N号.从第1号开始报数,每轮从1报到3,凡报到3的猴子即退出圈子,接着又从紧邻的下一只猴子开始同样的报数.如此不 ...

  10. 猴子选大王--约瑟夫问题浅析

    猴子选大王--约瑟夫问题浅析 猴子选大王问题是一个十分经典的算法问题,这个问题是这样的:一堆猴子都有编号,编号是1,2,3 ...m,这群猴子(m个)按照1-m的顺序围坐一圈,从第1开始数,每数到第N ...

最新文章

  1. Mybatis学习错误之:重复加载mapper.xml
  2. linux落字效果代码,Shell中实现飞行文字效果
  3. 如何使用C来扩展python功能。
  4. xml怎么转换html文件,xml转换成html文件方法
  5. 单元格变色和图片透明
  6. java 定义xml_java中web.xml定义详解
  7. 二维数组传入函数_C++二维动态数组memset()函数初始化
  8. hex转换成C语言源程序吗,第6节:把.c源代码编译成.hex机器码的操作流程
  9. binlog日志整理
  10. setInterval()和setTimeout()
  11. java jar class_JAVA jar命令(一)-jar打包class文件
  12. DelphiX中的DXSprite单元中涉及到修改
  13. My God,CImage裁剪图片变成黑色了
  14. HDU-5238 Calculator
  15. 常用公共类代码一之数据库的连接
  16. STM32F10xxx20xxx21xxxL1xxxx Cortex-M3程序设计手册 阅读笔记三(2):Cortex-M3内部函数
  17. The first day。
  18. lwip组播实现和原理-STM32F407
  19. 递推计算小白兔拔萝卜问题的最有矩阵
  20. 微软发布支持Linux的SQL Server

热门文章

  1. android不同颜色比例圆,Android 如何根据比例绘制一个不同颜色的圆
  2. Java优先级队列PriotyQueue
  3. Yolo-Fastest介绍
  4. 解决困扰很久的pycharm不能加断点问题
  5. 裁减网格纸 找x轴与y轴 最大 的坐标差
  6. 相机姿态轨迹最小二乘多项式平滑优化(防抖动)
  7. 白糖期货上涨可能带动的股票
  8. 【SAP Abap】SE38 - SAP ABAP DESCRIBE使用示例代码
  9. kali下的wesng初体验
  10. 毛书卿:5.12今日晚间黄金白银涨跌趋势分析及纸白银操作策略