C++枚举算法习题

1. 3的倍数枚举(基础)

题目:在之间有10和50多少个数是3的倍数?列举这些数。
解析

  • 枚举10到50之间的数,判断是否能被3整除。

  • 优化:计算第一个≥10的3的倍数(12=3×4),最后一个≤50的3的倍数(48=3×16),总数=16-4+1=13个。

代码

cpp

#include <iostream>
using namespace std;
int main() {int count = 0;for (int i = 10; i <= 50; i++) {if (i % 3 == 0) {cout << i << " ";count++;}}cout << "\nTotal: " << count << " numbers";return 0;
}

输出

text

12 15 18 21 24 27 30 33 36 39 42 45 48  
Total: 13 numbers

2. 硬币组合枚举(分类枚举)

题目:用1元、2元、5元硬币凑出10元,共有多少种组合?(每种至少用1枚)
解析

  • 枚举5元硬币的可能数量(最多2枚),再枚举2元硬币的数量,计算1元硬币的数量。

  • 确保总金额=10元且每种硬币≥1枚。

代码

cpp

#include <iostream>
using namespace std;
int main() {int count = 0;for (int five = 1; five <= 2; five++) {for (int two = 1; two <= (10 - five * 5) / 2; two++) {int one = 10 - five * 5 - two * 2;if (one >= 1) {cout << "5元×" << five << " + 2元×" << two << " + 1元×" << one << endl;count++;}}}cout << "Total: " << count << " ways";return 0;
}

输出

text

5元×1 + 2元×1 + 1元×3  
5元×1 + 2元×2 + 1元×1  
Total: 2 ways

3. 数字排列枚举(有序枚举)

题目:用数字1、3、5组成无重复的两位数,列举所有可能。
解析

  • 枚举十位数(1、3、5),再枚举个位数(不能与十位重复)。

代码

cpp

#include <iostream>
using namespace std;
int main() {int digits[] = {1, 3, 5};for (int i = 0; i < 3; i++) {for (int j = 0; j < 3; j++) {if (digits[i] != digits[j]) {cout << digits[i] * 10 + digits[j] << " ";}}}return 0;
}

输出

text

13 15 31 35 51 53

4. 台阶走法枚举(递推枚举)

题目:有5级台阶,每次可走1级或2级,共有多少种走法?列举所有走法。
解析

  • 枚举1级和2级的组合,确保总步数=5。

  • 例如:1+1+1+1+1、1+1+1+2、1+2+2等。

代码

cpp

#include <iostream>
using namespace std;
int main() {int count = 0;for (int two = 0; two <= 2; two++) { // 最多2步2级int one = 5 - two * 2;if (one >= 0) {cout << "1级×" << one << " + 2级×" << two << endl;count++;}}cout << "Total: " << count << " ways";return 0;
}

输出

text

1级×5 + 2级×0  
1级×3 + 2级×1  
1级×1 + 2级×2  
Total: 3 ways

5. 长方形拼法枚举(几何枚举)

题目:用12个相同的小正方形拼成长方形,共有多少种拼法?(长≥宽)
解析

  • 枚举长和宽的组合,使得长×宽=12。

  • 例如:12×1、6×2、4×3。

代码

cpp

#include <iostream>
using namespace std;
int main() {int count = 0;for (int width = 1; width <= 12; width++) {if (12 % width == 0) {int length = 12 / width;if (length >= width) {cout << length << "×" << width << endl;count++;}}}cout << "Total: " << count << " ways";return 0;
}

输出

text

12×1  
6×2  
4×3  
Total: 3 ways

总结

以上题目涵盖:

  1. 基础枚举(3的倍数)

  2. 组合枚举(硬币问题)

  3. 排列枚举(数字组合)

  4. 递推枚举(台阶走法)

  5. 几何枚举(长方形拼法)

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

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

相关文章

【SpringBoot系列-01】Spring Boot 启动原理深度解析

【SpringBoot系列-01】Spring Boot 启动原理深度解析 大家好&#xff01;今天咱们来好好聊聊Spring Boot的启动原理。估计不少人跟我一样&#xff0c;刚开始用Spring Boot的时候觉得这玩意儿真神奇&#xff0c;一个main方法跑起来就啥都有了。但时间长了总会好奇&#xff1a;这…

windows环境下使用vscode以及相关插件搭建c/c++的编译,调试环境

windows下使用vscode搭建c/c的编译、运行、调试环境&#xff0c;需要注意的是生成的是xxx.exe可执行文件。另外使用的编译器是mingw&#xff0c;也就是windows环境下的GNU。 我参考的网址是&#xff1a;https://zhuanlan.zhihu.com/p/1936443912806962622 文章分为2种环境搭建…

标准瓦片层级0~20,在EPSG:4326坐标系下,每个像素点代表的度数

在 EPSG:4326&#xff08;WGS84经纬度坐标系&#xff09; 下&#xff0c;瓦片层级&#xff08;Zoom Level&#xff09;的分辨率以 度/像素 为单位&#xff0c;其计算遵循 TMS Global Geodetic 规范&#xff08;单位&#xff1a;度&#xff09;。以下是 标准层级 0 至 20 的分辨…

Unity高级剔除技术全解析

目录 ​编辑层级剔除&#xff08;Layer Culling&#xff09;原理详解 代码示例 业务应用场景 距离剔除&#xff08;Distance Culling&#xff09;技术细节 进阶实现 开放世界优化技巧 视口裁剪&#xff08;Viewport Culling&#xff09;多摄像机协作方案 高级应用场景 …

[Linux] Linux文件系统基本管理

目录 识别文件系统和设备 Linux 中设备 Linux 文件系统 查看设备和文件系统 lsblk命令 df命令 du命令 案例&#xff1a;查看根文件系统中哪个文件占用了最大空间 环境准备 查找过程 挂载和卸载文件系统 环境准备 挂载文件系统 卸载文件系统 卸载失败处理 lsof …

如何在 Ubuntu 24.04 Server 或 Desktop 上安装 XFCE

在 Ubuntu 24.04 上更改当前桌面环境或添加新的桌面环境并不是一项艰巨的任务。大多数流行的 Linux 桌面环境,包括 XFCE,都可以通过默认的 Ubuntu 24.04 LTS 系统仓库安装。在本教程中,我们将学习如何使用 Tasksel 工具在 Ubuntu Linux 上安装和配置 XFCE。 访问终端并运行…

linux下用c++11写一个UDP回显程序

需求&#xff1a;1&#xff09;从2个UDP端口接收数据&#xff0c;并在同样的端口回显。echo2&#xff09;多个处理线程&#xff0c;多个发送线程&#xff1b;3&#xff09;使用条件变量唤醒&#xff1b;#include <stack> #include <mutex> #include <atomic>…

MySQL 深分页优化与条件分页:把 OFFSET 换成“游标”,再用覆盖索引抄近路

MySQL 深分页优化与条件分页:把 OFFSET 换成“游标”,再用覆盖索引抄近路 这不是“玄学调优”,而是可复制的方案。本文用可复现的 DDL/造数脚本,演示为什么 OFFSET 越大越慢,如何用 条件游标(Keyset Pagination) 替换它,并配上 覆盖索引。还会教你看 EXPLAIN/EXPLAIN A…

Unity 绳子插件 ObjRope 使用简记

Unity 绳子插件&#xff0c;是一个基于物理的、高度逼真且可交互的绳索模拟解决方案。 其性能良好&#xff0c;能够运行在小游戏平台。 一、插件基本 插件资源商店地址&#xff1a; Obi Rope | Physics | Unity Asset Store 官方文档&#xff08;手册&#xff09;&#xff…

demo 通讯录 + 城市选择器 (字母索引左右联动 ListItemGroup+AlphabetIndexer)笔记

一、城市选择器实现笔记1. 双层 for 循环渲染数据结构interface BKCityContent {initial: string; // 字母索引cityNameList: string[]; // 城市列表 }核心实现// 外层循环&#xff1a;字母分组 - 遍历城市数据&#xff0c;按字母分组显示 ForEach(this.cityContentList, (item…

【总结型】c语言中的位运算

位运算包括 & | ^ ~ << >>按位与 将某些变量中的某些位清0同时保持其他位不变。也可以用来获取变量中的某一位。 例如&#xff1a;将int型变量n低8位全置为0&#xff0c;其余位保持不变。 n n & 0xffffff00 如何判断一个int型变量n的第七位。 n & 0x8…

如何在FastAPI中玩转APScheduler,实现动态定时任务的魔法?

url: /posts/4fb9e30bb20956319c783e21897a667a/ title: 如何在FastAPI中玩转APScheduler,实现动态定时任务的魔法? date: 2025-08-16T01:14:26+08:00 lastmod: 2025-08-16T01:14:26+08:00 author: cmdragon summary: APScheduler是Python中强大的任务调度库,支持任务持久化…

GitHub的简单使用方法----(5)

最后一篇简单讲讲git管理远程仓库 1.目的 备份&#xff0c;实现代码共享集中化管理 &#xff08;将本地仓库同步到git远程仓库中&#xff09; git clone 仓库地址 以下图为示例&#xff0c;我打开了一个别人的项目仓库&#xff0c;点击code能看到仓库地址 等待完成即可 如…

C++ STL-string类底层实现

摘要&#xff1a; 本文实现了一个简易的string类&#xff0c;主要包含以下功能&#xff1a; 1. 默认成员函数&#xff1a;构造函数&#xff08;默认/参数化&#xff09;、拷贝构造、赋值重载和析构函数&#xff0c;采用深拷贝避免内存问题&#xff1b; 2. 迭代器支持&#xff1…

【LeetCode每日一题】

每日一题3. 无重复字符的最长子串题目总体思路代码1.两数之和题目总体思路代码15. 三数之和题目总体思路代码2025.8.153. 无重复字符的最长子串 题目 给定一个字符串 s &#xff0c;请你找出其中不含有重复字符的 最长 子串 的长度。 示例 1: 输入: s “abcabcbb” 输出: 3…

sharding-jdbc读写分离配置

一主两从&#xff0c;爆红是正常的&#xff0c;不知为啥 spring:shardingsphere:datasource:names: ds_master,ds_s1,ds_s2ds_master:type: com.zaxxer.hikari.HikariDataSourcedriverClassName: com.mysql.jdbc.DriverjdbcUrl: jdbc:mysql://192.168.135.100:3306/gmall_produ…

【大模型核心技术】Dify 入门教程

文章目录一、Dify 是什么二、安装与部署2.1 云端 SaaS 版&#xff08;快速入门&#xff09;2.2 私有化部署&#xff08;企业级方案&#xff09;三、界面导航与核心模块3.1 控制台概览3.2 核心功能模块详解3.2.1 知识库&#xff08;RAG 引擎&#xff09;3.2.2 工作流编排3.2.3 模…

homebrew 1

文章目录brew(1) – macOS&#xff08;或 Linux&#xff09;上缺失的包管理器概要描述术语表基本命令install *formula*uninstall *formula*listsearch \[*text*|/*text*/]命令alias \[--edit] \[*alias*|*alias**command*]analytics \[*subcommand*]autoremove \[--dry-run]bu…

设计索引的原则有哪些?

MySQL 索引设计的核心原则是 在查询性能与存储成本之间取得平衡。以下是经过实践验证的 10 大设计原则及具体实现策略&#xff1a;一、基础原则原则说明示例/反例1. 高频查询优先为 WHERE、JOIN、ORDER BY、GROUP BY 频繁出现的列建索引✅ SELECT * FROM orders WHERE user_id1…

使用影刀RPA实现快递信息抓取

最近公司项目有个需求&#xff0c;要求抓取快递单号快递信息&#xff0c;比如签收地点、签收日期等。该项目对应的快递查询网站是一个国外的网站&#xff0c;他们有专门的快递平台可以用于查询。该平台提供了快递接口进行查询&#xff0c;但需要付费。同时也提供了免费的查询窗…