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
英文地址,請注明出處:http://en.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;但需要付費。同時也提供了免費的查詢窗…