(C语言)猴子选大王
问题描述 |
要从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语言)猴子选大王相关推荐
- c语言-猴子选大王-约瑟夫问题(队列,链表,数组)
猴子选大王 前言:初读此题,根据题意,顺势想到了用刚学的数据结构中的循环队列及循环链表,便想借此来熟练一下新学知识. 题目描述: 一群猴子要选新猴王.新猴王的选择方法是:让N只候选猴子围成一圈,从某位 ...
- c语言猴子选大王注释,猴子选大王问题(C语言实现)
题目大概是这样的: n只猴子(n不超过50)围成一个圈.从某一只开始依次给猴子们编号,从1到n.然后从第一只猴子开始,从1开始依次报数,报到m的猴子离开圈子.从这只离开的猴子的下一只开始再从1开始报数 ...
- c语言猴子选大王指针,C语言描述怎么用循环队列实现猴子选大王
匿名用户 1级 2016-12-16 回答 #include #include typedef struct node//定义链表节点类型 { int data; struct node *next; ...
- 猴子选王c语言链表程序代码,数据结构(C语言)用栈和链表编写猴子选大王程序...
<数据结构(C语言)用栈和链表编写猴子选大王程序>由会员分享,可在线阅读,更多相关<数据结构(C语言)用栈和链表编写猴子选大王程序(3页珍藏版)>请在人人文库网上搜索. 1.i ...
- 7-28 猴子选大王 (C语言)
7-28 猴子选大王 (20 分)一群猴子要选新猴王.新猴王的选择方法是:让N只候选猴子围成一圈,从某位置起顺序编号为1~N号.从第1号开始报数,每轮从1报到3,凡报到3的猴子即退出圈子,接着又从紧邻 ...
- 猴子选王c语言链表程序代码,C语言程序设计-猴子选大王[链表应用]
2032 猴子选大王 Description 有N只猴子,从1~N进行编号.它们按照编号的顺时针方向排成一个圆圈,然后从第一只猴子开始报数.第一只猴子报的第一个数字为1,以后每只猴子报的数字都是它们前 ...
- 主元排序法c语言程序,C语言算法竞赛入门(二)---数组元素移动 、排序问题 、猴子选大王问题...
数组元素移动 [问题描述]调整输入数组A[0..n],将其分为两部分,左边所有元素为奇数,右边所有元素为偶数 [输入形式]a0,b1,b2,a1,a2,b3,a3,a4 [输出形式]a0,a1,a2, ...
- 用C语言编写猴子选大王程序(数据结构)
猴子选大王案例编程. 编程要求:猴子选大王:一堆猴子都有编号,编号是1,2,3 -m ,这群猴子(m个)按照1–m的顺序围坐一圈,从第1开始数,每数到第n个(n<m),该猴子就要离开此圈,这样依 ...
- 猴子选大王(c语言)
猴子选大王 描述 格式 样例 题解及详细注释 描述 有n只猴子(编号从1到n),按顺时针方向围成一圈选大王. 规则是从第1号开始报数,一直数到m,数到m的猴子退出圈外,剩下的猴子再接着从1开始报数.就 ...
- C语言每日一题-PTA基础编程题-7-28 猴子选大王
7-28 猴子选大王 (20分) 一群猴子要选新猴王.新猴王的选择方法是:让N只候选猴子围成一圈,从某位置起顺序编号为1~N号.从第1号开始报数,每轮从1报到3,凡报到3的猴子即退出圈子,接着又从紧邻 ...
最新文章
- redhat enterprise linux 下配置本地yum源
- MongoDB的基本用法
- java弱引用怎么手动释放,Java 如何有效地避免OOM:善于利用软引用和弱引用
- linux tr命令详解
- android sdio 时钟 ios-clock,iOS 炫酷时钟
- 【Cloud Foundry 应用开发大赛】“八卦街”图片采集应用
- 使用java9的uuid生成方式,让uuid生成速度提升一个档次
- 拓步T66Ⅱ(牛牛2)Root教程
- .NET方向高级开发人员面试时应该事先考虑的问题
- 使用tcpdump抓Android网络包
- ​​​​​​​国民经济行业分类(GB/T 4754—2017)
- python 生成 exe
- 人类一败涂地服务器不稳定,人类一败涂地崩溃怎么办 人类一败涂地游戏崩溃解决方法一览_游侠网...
- Excel查询A列中的数据是否在B中存在
- 计算机网络一小时总结 明天考试
- Unity内截屏实现
- 21个免费学习编程的网站
- Pocket PC访问PC上的Webservice
- 关于DDS文件格式的说明
- FFmpeg源代码简单分析 结构体成员管理系统-AVClass