猴子选大王

  • 描述
  • 格式
  • 样例
  • 题解及详细注释

描述

有n只猴子(编号从1到n),按顺时针方向围成一圈选大王。

规则是从第1号开始报数,一直数到m,数到m的猴子退出圈外,剩下的猴子再接着从1开始报数。就这样重复下去,直到圈内只剩下一只猴子时,这只猴子就是大王。

格式

输入格式
输入只有一行,两个数据,分别是n和m

输出格式
输出一个数据,大王的编号

样例

输入样例
10 5
输出样例
3

题解及详细注释

本文用循环链表来做。当然也可以用模拟链表来做,各有所爱。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>//这里创建一个结构体用来表示链表的结点类型
struct list
{int name;struct list *next;
};int main()
{struct list *houzi,*head,*now;int m, n, a;a = 1;scanf("%d%d", &m,&n);houzi = (struct list *)malloc(sizeof(struct list));//动态申请一个空间,用来存放一个结点,并用临时指针houzi指向这个结点now = (struct list *)malloc(sizeof(struct list));///同上head = houzi;//指针head也指向houzi结点。及存着第一个猴子的指针houzi->name = 1;//第一个猴子的名字是1houzi->next=now;//设置当前houzi结点的后继指针指向now结点houzi = houzi->next;//由于上一行的操作,新的houzi指针指向now结点。这是一个新的猴子for (int i = 2; i <= m - 1; i++)//这个循环的内容跟上面的差不多。创建出多个猴子{houzi->name = i ;now = (struct list *)malloc(sizeof(struct list));houzi->next=now;houzi = houzi->next;}houzi->name = m;//这是最后一个猴子。要在循环之外创建houzi->next = head;//最后一个猴子的后继结点是第一个猴子houzi = head;//现在的猴子是第一个猴子了while (m > 1)//现在开始选大王。m=1时,表明只剩下一个猴子即猴大王,退出循环{while (a != n - 1 && houzi->next != NULL){houzi = houzi->next;++a;}a = 1;houzi->next = houzi->next->next;houzi = houzi->next;m = m - 1;}printf("%d",houzi->name);
}


写于2021年7月21日16:17分。

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

  1. 猴子选大王c语言课程设计,【C/C++】猴子选大王

    这些题目都是大一刚入学时学习C语言的课后作业,在OJ上看到还保留着,就都整理下发出来吧......(只有题和代码) [问题描述]要从n只猴子中选出一位大王.它们决定使用下面的方法: n只猴子围成一圈, ...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  9. 【数据结构机试复习2】 赛马 猴子选大王

    EX1:赛马 A与B之间将进行一场赛马比赛,C为裁判.A与B分别拥有n匹马,这2n匹马中每匹马拥有的能力值都不相同.比赛前,参赛的两人先决定自己的马的出场顺序:比赛时,A的第一匹马将对战B的第一匹马, ...

最新文章

  1. GlideApp 引入不了问题
  2. 卧槽,面试官质疑我不会配置中心原理,看不起谁呢?
  3. 纽约大学计算机和信息科学专业排名,纽约大学计算机科学与信息系统世界排名2018年最新排名第33(QS世界排名)...
  4. java flash截图_求大神们帮助, 如何在java中实现文字数据转换成图片或flash显示
  5. 颜值爆表!Redis 官方可视化工具来啦,功能真心强大!
  6. 【OpenCV4】fatal error: opencv2/core.hpp: No such file or directory 解决方法
  7. cnvd与cnnvd区别_漏洞都是怎么编号的CVE/CAN/BUGTRAQ/CNCVE/CNVD/CNNVD
  8. openlayers+vue水流图
  9. 【菜鸟站长成长记】CuteFTP9 初步使用心得
  10. 怎么把网页保存成pdf格式-最简单操作
  11. Java运行准备JDR JRE JVM知识和环境变量的作用
  12. 苹果手机发信息显示作为垃圾信息送达解决方法
  13. ssci源刊里有开源期刊吗_2020年SCI期刊影响因子重磅发布!你投过的期刊涨了吗?...
  14. MySQL中emoji表情包的存储问题
  15. java计算机毕业设计消防网站源代码+数据库+系统+lw文档
  16. kinectfusion解析_KinectFusion介绍
  17. mysql如何重复数据合并_mysql合并相同字段,不同的拼接在起后
  18. HttpClient 报错 Invalid cookie header, Invalid 'expires' attribute: Thu, 01 Jan 1970 00:00:00 GMT...
  19. 用python3的pyspider爬取国家统计局的行政区域(只到乡镇级,更新到2017年)
  20. linux at24测试程序,AT91RM9200在linux2.6.20下TWI测试程序

热门文章

  1. pvpgn mysql_魔兽私服pvpgn搭建
  2. Zend Studio中安装Aptana及几个配置说明
  3. TI公司Tina-ti和FilterProDesktop下载地址
  4. xml基础教程详细总结
  5. c# 自定义多个SplitContainer 支持点击放大缩小
  6. 达内C++视频(全)
  7. c#跳出循环break与continue
  8. 如何避免内存溢出和频繁的垃圾回收
  9. 第 04 课 用户管理
  10. dockerfile volume