2021 年 12 月青少年软编等考 C 语言三级真题解析

目录

  • T1. 我家的门牌号
    • 思路分析
  • T2. 子串计算
    • 思路分析
  • T3. 吃糖果
    • 思路分析
  • T4. 拨钟问题
    • 思路分析
  • T5. 分形盒
    • 思路分析

T1. 我家的门牌号

我家住在一条短胡同里,这条胡同的门牌号从 1 1 1 开始顺序编号。

若所有的门牌号之和减去我家门牌号的两倍,恰好等于 n n n,求我家的门牌号及总共有多少家。

数据保证有唯一解。

时间限制:1 s
内存限制:64 MB

  • 输入
    一个正整数 n n n n < 100000 n < 100000 n<100000
  • 输出
    一行,包含两个正整数,分别是我家的门牌号及总共有多少家,中间用单个空格隔开。
  • 样例输入
    100
    
  • 样例输出
    10 15
    

思路分析

此题考查枚举法,属于入门题。这里提供两种比较简单,容易实现的方法,更详细的解析见【青少年软编等考 2021-12 三级】我家的门牌号这篇文章。

根据题意,我们可以列出方程 t o t a l × ( t o t a l + 1 ) 2 − 2 × m y _ h o m e = n \frac{total\times (total+1)}{2} - 2\times my\_home = n 2total×(total+1)2×my_home=n,其中 t o t a l total total 表示总户数, m y _ h o m e my\_home my_home 表示我家门牌号。

于是我们可以用双重循环枚举求解此题,由于 m y _ h o m e my\_home my_home 受到 t o t a l total total 的限制,因此外层循环枚举 t o t a l total total,内层循环枚举 m y _ h o m e my\_home my_home,更易于验证。

/** Name: T1_1.cpp* Problem: 我家的门牌号* Author: Teacher Gao.* Date&Time: 2024/11/19 20:44*/#include <iostream>using namespace std;int main()
{int n;cin >> n;for (int total = 1; ; total++) {for (int my_home = 1; my_home <= total; my_home++) {int sum = total * (total + 1) / 2;if (sum - 2 * my_home == n) {cout << my_home << " " << total << endl;return 0;}}}return 0;
}

事实上,对于两个未知数,一个等式的不定方程,我们可以将方程中的未知数分开两边: t o t a l × ( t o t a l + 1 ) 2 − n = 2 × m y _ h o m e \frac{total\times (total+1)}{2} - n = 2\times my\_home 2total×(total+1)n=2×my_home,利用等式的性质,用单层循环枚举可解。

具体来说,等式右边应满足 2 ≤ 2 × m y _ h o m e ≤ 2 × t o t a l 2 \le 2 \times my\_home \le 2\times total 22×my_home2×total,并且 m y _ h o m e my\_home my_home 为整数,因为题目数据保证有唯一解,于是只要方程左边满足上述条件即为答案。

/** Name: T1_2.cpp* Problem: 我家的门牌号* Author: Teacher Gao.* Date&Time: 2024/11/19 20:46*/#include <iostream>using namespace std;int main()
{int n;cin >> n;for (int total = 1; ; total++) {int t = total * (total + 1) / 2 - n;if (2 <= t && t <= 2 * total && t % 2 == 0) {int my_home = t / 2;<

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/886947.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

模拟器多开限制ip,如何设置单窗口单ip,每个窗口ip不同

很多手游多开玩家都是利用安卓模拟器实现手游多开&#xff0c;但是很多手游会限制ip&#xff0c;导致多开之后封号等问题&#xff0c;模拟器本身没有更换IP的功能&#xff0c;就需要通过第三方软件来实现 安卓模拟器概述 雷电模拟器、夜神模拟器、mum模拟器等都是目前市场上比…

微信万能门店小程序系统存在任意文件读取漏洞

免责声明: 本文旨在提供有关特定漏洞的深入信息,帮助用户充分了解潜在的安全风险。发布此信息的目的在于提升网络安全意识和推动技术进步,未经授权访问系统、网络或应用程序,可能会导致法律责任或严重后果。因此,作者不对读者基于本文内容所采取的任何行为承担责任。读者在…

入门pandas

pandas是本书后续内容的首选库。它含有使数据清洗和分析工作变得更快更简单的数据结构和操作工具。pandas经常和其它工具一同使用&#xff0c;如数值计算工具NumPy和SciPy&#xff0c;分析库statsmodels和scikit-learn&#xff0c;和数据可视化库matplotlib。pandas是基于NumPy…

Apple Vision Pro开发001-开发配置

一、Vision Pro开发硬件和软件要求 硬件要求软件要求 1、Apple Silicon Mac(M系列芯片的Mac电脑) 2、Apple vision pro-真机调试 XCode15.2及以上&#xff0c;调试开发和打包发布Unity开发者账号&&苹果开发者账号 二 、开启无线调试 1、Apple Vision Pro和Mac连接同…

无人机与低空经济:开启新质生产力的新时代

无人机技术作为低空经济的核心技术之一&#xff0c;正以其独特的优势在多个行业中发挥着重要作用&#xff0c;成为推动新质生产力革命的重要力量。无人机的应用范围广泛&#xff0c;从农业植保到物流配送&#xff0c;从城市监测到紧急救援&#xff0c;无人机的身影无处不在&…

Flutter中sqflite的使用案例

目录 引言 安装sqflite 创建表 查询数据 添加数据 删除数据 更新数据 完整使用案例 引言 随着移动应用的发展&#xff0c;本地数据存储成为了一个不可或缺的功能。在Flutter中&#xff0c;sqflite 是一个非常流行且强大的SQLite插件&#xff0c;它允许开发者在移动设备…

故障排除-------K8s挂载集群外NFS异常

故障排除-------K8s挂载集群外NFS异常 1. 故障现象2. 原因梳理2.1 排查思路2.2 确认yaml内容2.3 创建k8s内的nfs测试2.3.1 创建nfs和svc2.3.2 测试创建pvc2.3.3 测试结果 2.4 NFS服务端故障排除2.4.1 网络阻断排除2.4.2 排除服务状态问题2.4.3 排查NFS权限问题 3. 故障排除 1. …

大数据的left_join

刷算法题&#xff1a; 第一遍&#xff1a;1.看5分钟&#xff0c;没思路看题解 2.通过题解改进自己的解法&#xff0c;并且要写每行的注释以及自己的思路。 3.思考自己做到了题解的哪一步&#xff0c;下次怎么才能做对(总结方法) 4.整理到自己的自媒体平台。 5.再刷重复的类…

安卓CameraX的使用

如果要在安卓应用中操作相机&#xff0c;有三个库可以选&#xff1a; Camera&#xff08;已废弃&#xff09;&#xff1a;Camera是安卓最早的包&#xff0c;目前已废弃&#xff0c;在Android 5.0&#xff08;API 级别 21&#xff09;的设备上操作相机可以选择该包&#xff0c;…

微服务即时通讯系统的实现(客户端)----(2)

目录 1. 将protobuf引入项目当中2. 前后端交互接口定义2.1 核心PB类2.2 HTTP接口定义2.3 websocket接口定义 3. 核心数据结构和PB之间的转换4. 设计数据中心DataCenter类5. 网络通信5.1 定义NetClient类5.2 引入HTTP5.3 引入websocket 6. 小结7. 搭建测试服务器7.1 创建项目7.2…

02_Spring_IoC实现

接下来先简单说一下关于IoC的一些要点,后面我们再详细一步一步讨论。 一、IoC控制反转 IoC控制反转它是一种思想,不是具体的实现控制反转的目的是为了降低程序的耦合度,提高程序的可扩展性,从而满足OCP原则和DIP原则控制反转,那到底反转是什么东西? 我们不再使用某个对象…

凸函数与深度学习调参

问题1&#xff1a;如何区分凸问题和凹问题&#xff1f; 问题2&#xff1a;深度学习如何区分调参&#xff1f;

游戏开发实现简易实用的ui框架

游戏开发实现简易实用的ui框架 本文使用cocos引擎实现&#xff0c;框架代码本质上不依赖某一个引擎&#xff0c;稍作修改也能作为其他引擎的实现 1.1 UI管理框架的核心需求剖析 分层与类型管理 对不同类型UI需要进行分层管理。不同层级的UI需要有不同的父节点&#xff0c;保证渲…

使用可视化工具kafkatool连接docker的kafka集群,查看消息内容和offset

1、下载kafkatool 下载地址Offset Explorer&#xff0c;下载对应系统的offset explorer 下载完&#xff0c;傻瓜安装即可&#xff08;建议放D盘&#xff09;&#xff0c;在开始菜单输入offset找到该应用打开 打开 2、连接kafka 点击File > add new connection Bootstrap…

关于Java使用ueditor上传图片的一些总结

1.如何配置ueditor让上传的图片到项目之外&#xff1f; 因为图片上传到web项目中,重新部署项目可能会丢失图片。 解决方法&#xff1a;下载ueditor.1.1.2.jar. 地址&#xff1a;ueditor-1.1.2项目源码及jar包.zip 链接: https://pan.baidu.com/s/1Bhumfw8OX16n0MTO9ur73g 提…

React可以做全栈开发吗

React可以做全栈开发吗? 答案是肯定的&#xff0c;而且还比较完美 React可以用于全栈开发&#xff0c;以下是具体的介绍&#xff1a; 前端部分 构建用户界面 React是一个用于构建用户界面的JavaScript库&#xff0c;它通过组件化的方式让开发者能够高效地创建交互式的UI。例…

【前端学习笔记】Javascript学习二(运算符、数组、函数)

一、运算符 运算符&#xff08;operator&#xff09;也被称为操作符&#xff0c;是用于实现赋值、比较和执行算数运算等功能的符号。 JavaScript中常用的运算符有&#xff1a; 算数运算符、递增和递减运算符、比较运算符、逻辑运算符、赋值运算符 算数运算符&#xff1a; 、-…

Redis五大基本类型——List列表命令详解(命令用法详解+思维导图详解)

目录 一、List列表类型介绍 二、常见命令 1、LPUSH 2、LPUSHX 3、RPUSH 4、RPUSHX 5、LRANGE 6、LPOP 7、RPOP 8、LREM 9、LSET 10、LINDEX 11、LINSERT 12、LLEN 13、阻塞版本命令 BLPOP BRPOP 三、命令小结 相关内容&#xff1a; Redis五大基本类型——Ha…

快速入门消息队列MQ、RabbitMQ

目录 一、MQ简介 1.同步调用 2.异步调用 3.技术选型 二、RabbitMQ 1.安装 2.控制台的使用说明 2.1交换机 2.2队列​编辑 2.3绑定关系 3.AMQP 3.1快速入门 3.2WorkQueues模型 3.3交换机 3.3.1 Fanout交换机 3.3.2 Direct交换机 3.3.3 Topic交换机 3.4 声明交换机…

CRM系统安全性排名:数据保护能力评估

安全性对CRM系统厂商和企业来说至关重要&#xff0c;因为它直接关系到企业的客户数据、商业机密和品牌信誉。CRM系统通常存储了大量敏感信息&#xff0c;包括客户联系详情、交易记录和个人身份信息&#xff0c;一旦发生数据泄露或安全事件&#xff0c;不仅可能导致客户信任丧失…