报数问题(C语言)

article/2025/11/8 23:15:17

报数问题(C语言)

  • 一、题目描述
  • 二、裁判测试程序样例
  • 三、输入/输出
    • 输入样例
    • 输出样例
  • 四、解题思路
  • 五、示例代码
  • 六、运行情况

一、题目描述

报数游戏是这样的:有n个人围成一圈,按顺序从1n编好号。从第一个人开始报数,报到m(<n)的人退出圈子;下一个人从1开始报数,报到m的人退出圈子。如此下去,直到留下最后一个人。
本题要求编写函数,给出每个人的退出顺序编号。
函数接口定义:

void CountOff( int n, int m, int out[] );

其中n是初始人数;m是游戏规定的退出位次(保证为小于n的正整数)。函数CountOff将每个人的退出顺序编号存在数组out[]中。因为C语言数组下标是从0开始的,所以第i个位置上的人是第out[i-1]个退出的。

二、裁判测试程序样例

#include <stdio.h>
#define MAXN 20void CountOff( int n, int m, int out[] );int main()
{int out[MAXN], n, m;int i;scanf("%d %d", &n, &m);CountOff( n, m, out );   for ( i = 0; i < n; i++ )printf("%d ", out[i]);printf("\n");return 0;
}/* 你的代码将被嵌在这里 */

三、输入/输出

输入样例

11 3

输出样例

4 10 1 7 5 2 11 9 3 6 8 

四、解题思路

由于题目的描述比较隐晦的表达着让做题者去实现 输出退出者退出的轮次,用out[index] = round 记录,index表示退出者在队伍中的次序,round表示他是第几轮退出的。但是该题目也在表达着另外一种题目要求——“要求答题者,求出队伍的退出次序,将其存储在out[i] = index,i表示退出的次序,index退出者所在的位置”,所以这里可能会成为一些答题者的迷惑点。
解题思路:
通过对out[]数组中的数据进行初始化为n ,减少一个退出进行的一次多余循环,其次也通过如此来进行标注,去除掉以及退出的元素(out[index] = round),从而保证一个out[index] = n的“子数组”,从而继续寻找下一个退出者。

五、示例代码

void CountOff( int n, int m, int out[] ){// 1\初始化out[]for(int i=0;i<n;++i){out[i] = n;}int index = 0; // 当前报数点位置int count = 0; //报数次数int round = 1; // 报数的轮数while(round<n){if(out[index] == n){count++;}if(count == m){ //如果报数次数达到m,则更新当前count以及round,说明已完成一轮报数count = 0;out[index] =round++;}index++;// 建议使用先判断,在index = index % n ;性能会有很大的提升if(index>n-1){index = index % n;}}
}

六、运行情况

在这里插入图片描述


http://chatgpt.dhexx.cn/article/elNMlYar.shtml

相关文章

国外cloudflare免费cdn缓存配置和测速工具

测速工具 1.PageSpeed Insights https://developers.google.com/speed/pagespeed/insights/ 2.Pingdom https://tools.pingdom.com/#5d4abe0c0cc00000 3.webpagetest https://performance.sucuri.net/domain/ 4.GTmetrix https://gtmetrix.com/reports/ 5.uptrends https:…

国外服务器使用CDN加速怎么样

用得上国外服务器的&#xff0c;大部分都是做外贸网站的站长了&#xff0c;经营外贸网站首先就要选择一款稳定快速的服务器主机。不论站长是选择虚拟主机还是VPS云主机或者是独立服务器&#xff0c;网站速度问题都是要放在首位考虑的。 我们常用的外贸主机就是美国主机&#x…

CDN介绍

基本原理 CDN的基本原理是广泛采用各种缓存服务器&#xff0c;将这些缓存服务器分布到用户访问相对集中的地区或网络中&#xff0c;在用户访问网站时&#xff0c;利用全局负载技术将用户的访问指向距离最近的工作正常的缓存服务器上&#xff0c;由缓存服务器直接响应用户请求。…

CDN技术详解

第一章 引言 1.1 CDN的基本概念和产生背景 CDN&#xff1a; Content Distribute Network&#xff1a; 内容分发网络&#xff0c;或者&#xff0c;Content Delivery Network&#xff1a;内容交付网络 我们常说的互联网&#xff0c;是广义的互联网&#xff0c;由两层组成&…

如何搭建自己CDN服务器

转自&#xff1a; https://blog.csdn.net/qq_35461287/article/details/55050583 如何搭建自己CDN服务器 目前在免费CDN市场上&#xff0c;360因为“免费”而越做越大&#xff0c;加速乐做的很早。但因免费的节点不多&#xff0c;好多用户都被强走了。安全宝现在也还不错。目前…

一文明白CDN加速是个啥

作者:IT王小二 博客:https://itwxe.com 不知不觉三个月没更新了,这三个月诸事繁忙啊!最近没那么忙了,开始恢复更新。 一、CDN简介 CDN(Content Delivery Network)是指内容分发网络,也称为内容传送网络,这个概念始于1996年,是美国麻省理工学院的一个研究小组为改善互联…

CDN技术介绍

引言 随着Internet技术和多媒体技术的不断发展&#xff0c;图像、音频、视频服务所占的比重越来越大&#xff0c;加之网民数量激增&#xff0c;网络访问距离过长&#xff0c;导致网络负载迅速增加&#xff0c;从而使用户的访问质量受到严重影响。传统的缓存技术对交互性强和比…

阿里云国际版CDN真的这么神奇吗?

阿里云国际版的内容分发网络CDN(全称Content Delivery Network)是建立并覆盖在承载网之上&#xff0c;由遍布全球的边缘节点服务器群组成的分布式网络。阿里云国际版CDN能分担源站压力&#xff0c;避免网络拥塞&#xff0c;确保在不同区域、不同场景下加速网站内容的分发&#…

修复cdn服务器连接异,cdn服务器连接异常怎么处理

cdn服务器连接异常怎么处理 内容精选 换一换 通过Web浏览器无法登录资源,提示由于资源连接失败或不可达,当前无法访问。如果持续出现该问题,请通知系统管理员或检查系统日志(Code:C_519)。CBH系统与资源服务器之间网络连接不稳定,导致连接失败。CBH系统到资源服务器的网络…

亲身尝试!国内外几间出名CDN服务商使用心得

从十月中旬就开始折腾CDN的事情&#xff0c;前前后后算起来也有差不多一个月了吧&#xff0c;期间试过了几乎所有能想到、能用上的CDN服务商&#xff0c;终于找到了一家适合自己的。 先讲一下自己的探索过程吧&#xff0c;顺带排排雷&#xff1a; 首先我想到的就是自己曾经用…

海外cdn加速有用吗?

如何使用CDN服务给网站提速&#xff1f; CDN是一个策略性部署的整体系统&#xff0c;能够帮助用户解决分布式存储、负载均衡、网络请求的重定向和内容管理等问题&#xff0c;CDN代表了一种基于质量与秩序的网络服务模式。 1.想要完成CDN对网站的加速服务&#xff0c;先要在大…

海外CDN加速的方方面面

免备案cdn是什么 CDN加速免备案也就是在海外的节点&#xff0c;像香港、美国等地区的服务器&#xff0c;如果是国内的服务器&#xff0c;也还是需要备案的。 海外多节点高防服务器部署&#xff0c;CDN加速免备案原理是将源站内容分发至海外多个高防服务器节点&#xff0c;通过…

[Anaconda学习]本地查看代理ip,anaconda挂代理

**anaconda为什么要挂代理&#xff1f;**如果不挂代理某些第三方库可能出现下载不完全的情况。 1、本地电脑查看所挂代理的ip地址&#xff08;笔者使用的是六尺巷挂代理访问外网&#xff0c;一个月25&#xff0c;但是供应商软件不支持查看代理ip地址&#xff09;步骤&#xff1…

挂代理的几种方式

1.kali中挂代理 执行命令如下所示&#xff1a; rootKali:~# leafpad /etc/proxychains.conf 可视化显示配置文件信息 在配置文件底部添加代理&#xff0c;一般用SOCKS4和SOCKS5 因为proxyresolv保存在/usr/lib/proxychains3/目录中&#xff0c;而不能被执行。proxyresolv会被…

KALI虚拟机挂代理教程

需要你本地挂了代理&#xff0c;然后通过虚拟机连接本机代理端口&#xff0c;不说废话了&#xff0c;直接说怎么做了。 1.查看选项设置中自己的小飞机的本地端口是多少&#xff1a;&#xff08;默认是1080&#xff09; 2.本机winr打开cmd&#xff0c;输入ipconfig查看本地ip…

AWVS挂代理扫描

端口填远程机开启的BP端口&#xff0c;地址填远程机的IP&#xff0c;如果出现验证码报错&#xff0c;那就是你软件破解的有问题

vscode 设置代理

编译一些代码&#xff0c;需要从网络更新一些库文件&#xff0c;但是需要代理&#xff1b;

Linux使用代理服务器上网

1.安装服务器代理软件 &#xff1a;CCProxy 或者 WProxy 2.编辑Linux环境变量配置 vim ~/.bash_profile [在末尾加上服务器代理地址,http和https代理地址都写一样的&#xff0c;ip和端口从你安装服务器代理软件后运行的设置中获取] #http proxy export http_proxyhttp://10…

代理服务器出问题或挂完代理后网络连接且无网络

要注意在使用完代理后需要手动关闭&#xff0c;否则会出现代理为关闭的状况&#xff0c;导致网络连接成功&#xff0c;但却无法正常上网。 出现以上情况需要关闭代理&#xff0c;在设置里搜索“代理服务器设置” 打开如上界面&#xff0c;关闭代理服务器即可。 当然&#xff…

centos服务器如何设置代理上网?

互联网时代&#xff0c;网络通信方面发展非常快&#xff0c;上网的人群也非常多&#xff0c;很多人应该都了解代理这个词&#xff0c;也知道代理上网&#xff0c;这里就不过多介绍了&#xff0c;但是centos这个词就不一定有很多人知道了&#xff0c;一般程序员才会了解这个并且…