问题描述 要从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 i,n,m,q,a[10000],j;scanf("%d%d%d",&n,&m,&q);for(i=1;i<=n;i++)a[i]=i;for(i=1;i<=n-1;i++){  q=q+m-1;if(q>=n-i+2&&q<2*(n-i+2)-1)q=q-(n-i+1);else if(q>=2*(n-i+2)-1){int k=(q-1)/(n-i+1);q=q-k*(n-i+1);}for(j=q;j<=n-i+1;j++)a[j]=a[j+1];//将退出的猴子覆盖,后面的依次前移一位if(q==n-i+1)q=1;}printf("%d",a[1]);return 0;
}

(C语言)猴子选大王相关推荐

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

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

  2. c语言猴子选大王注释,猴子选大王问题(C语言实现)

    题目大概是这样的: n只猴子(n不超过50)围成一个圈.从某一只开始依次给猴子们编号,从1到n.然后从第一只猴子开始,从1开始依次报数,报到m的猴子离开圈子.从这只离开的猴子的下一只开始再从1开始报数 ...

  3. c语言猴子选大王指针,C语言描述怎么用循环队列实现猴子选大王

    匿名用户 1级 2016-12-16 回答 #include #include typedef struct node//定义链表节点类型 { int data; struct node *next; ...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

最新文章

  1. redhat enterprise linux 下配置本地yum源
  2. MongoDB的基本用法
  3. java弱引用怎么手动释放,Java 如何有效地避免OOM:善于利用软引用和弱引用
  4. linux tr命令详解
  5. android sdio 时钟 ios-clock,iOS 炫酷时钟
  6. 【Cloud Foundry 应用开发大赛】“八卦街”图片采集应用
  7. 使用java9的uuid生成方式,让uuid生成速度提升一个档次
  8. 拓步T66Ⅱ(牛牛2)Root教程
  9. .NET方向高级开发人员面试时应该事先考虑的问题
  10. 使用tcpdump抓Android网络包
  11. ​​​​​​​国民经济行业分类(GB/T 4754—2017)
  12. python 生成 exe
  13. 人类一败涂地服务器不稳定,人类一败涂地崩溃怎么办 人类一败涂地游戏崩溃解决方法一览_游侠网...
  14. Excel查询A列中的数据是否在B中存在
  15. 计算机网络一小时总结 明天考试
  16. Unity内截屏实现
  17. 21个免费学习编程的网站
  18. Pocket PC访问PC上的Webservice
  19. 关于DDS文件格式的说明
  20. FFmpeg源代码简单分析 结构体成员管理系统-AVClass

热门文章

  1. HTMLCSS 第二天 笔记
  2. 四边形不等式优化-石子合并
  3. 【概率论】3-4:二维分布(Bivariate Distribution)
  4. Android项目实战(二十):浅谈ListView悬浮头部展现效果
  5. laravel 环境自编译过程
  6. mormot json操作
  7. week7 read
  8. Java Map遍历方式的选择
  9. ESFramework介绍之(34)―― ITcpServerAgent和IUdpServerAgent组件关系图
  10. 【Spring MVC】学习笔记汇总