c++蓝桥杯题目积累 📅 发布时间:2026/7/11 17:35:07 👁️ 浏览次数: 一、P1055 [NOIP 2008 普及组] ISBN 号码 - 洛谷#includebits/stdc.h using namespace std; int main(){ ios::sync_with_stdio(0),cin.tie(0),cout.tie(0); string s; cins; string digits; for(char c:s){ if(c!-) digitsc; } int mod0,sum0; for(int i0;i9;i){ sum(digits[i]-0)*(i1); } modsum%11; char correct; if(mod10) correctX; else correct0mod; if(correctdigits[9]) coutRightendl; else{ string ress; res[12]correct; coutresendl; } return 0; }1.使用string来提取纯数字用字符来遍历字符串而不是数组。2.将字符数字-0转换为整数整数’0‘转换为字符数字。二、P5723 【深基4.例13】质数口袋 - 洛谷用于处理1e12的质数的优解#includebits/stdc.h using namespace std; #define ll long long bool isPrime(ll n){ if(n1) return false; if(n2) return true; if(n%20) return false; for(ll i3;i*in;i2){ if(n%i0) return false; } return true; } int main(){ ios::sync_with_stdio(0),cin.tie(0),cout.tie(0); ll l,cnt0,sum0; cinl; for(ll i2;il;i){ if(l-sumi)break; if(isPrime(i)) { coutiendl; cnt; sumi; } } coutcntendl; return 0; }更优解埃氏筛法// 埃氏筛法预筛[2, max_n]内的质数 vectorbool sieve(ll max_n){ vectorbool is_prime(max_n 1, true); is_prime[0] is_prime[1] false; for(ll i2; i*i max_n; i){ if(is_prime[i]){ for(ll ji*i; j max_n; ji){ is_prime[j] false; } } } return is_prime; } // 主函数中替换质数收集逻辑 ll max_n b; vectorbool is_prime sieve(max_n); for(ll ia; i b; i){ if(is_prime[i]){ c.push_back(i); } }三、P1217 [USACO1.5] 回文质数 Prime Palindromes - 洛谷当普通数组存储在栈上的长度达到1e5以上的时候使用vector存储在堆上不容易栈溢出更优1e4为浮点数不能直接int a[1e5];需要typedef long long ll; const ll MAX1e4; ll a[MAX];优先判断回文数再判断质数提高效率。其他注意点如下注释中#includebits/stdc.h using namespace std; typedef long long ll; const ll MAX 1e8 5; bool isPrime(ll n){ if(n 1) return false; if(n 2) return true; if(n % 2 0) return false; for(ll i3; i*i n; i2){ if(n % i 0) return false; } return true; } bool isHui(ll n){ if(n 0 || (n % 10 0 n ! 0)) return false; if(n 10) return true; ll rev 0; ll temp n; //用 temp 副本存储 n避免修改原参数 while(temp rev){ rev rev * 10 temp % 10; temp / 10; } return temp rev || temp rev / 10; } int main(){ ios::sync_with_stdio(0), cin.tie(0), cout.tie(0); ll a, b; cin a b; vectorll c; // 存储区间内的质数 vectorll res; // 存储既是质数又是回文数的结果 for(ll i a; i b; i){ if(isHui(i)){ c.push_back(i); } } for(ll num : c){ if(isPrime(num)){ res.push_back(num); } } for(ll ans : res){ cout ans \n; // 用\n代替endl更快 } return 0; }vectorint vec {1,2,3,4}; cout vec.size() endl; // 输出 4元素个数 cout vec.capacity() endl; // 输出 ≥4如 4 cout vec.front() endl; // 1首元素 cout vec.back() endl; //4尾元素 if (vec.empty()) { cout 空数组; } else { cout 非空; }const ll MAX 1e8 5; vectorll c(MAX); // 长度 1e85堆上分配无栈溢出只要内存足够 vectorll res; // 动态收集结果无需提前定义长度// 方式 1固定行数和列数如 100 行 200 列元素默认 0 vectorvectorint dp(100, vectorint(200)); // dp[100][200] // 方式 2动态行数如邻接表n 个节点每个节点的邻接节点动态添加 int n 10; vectorvectorint adj(n); // 10 个空数组 adj[0].emplace_back(1); // 节点 0 连接节点 1 adj[0].emplace_back(2); // 节点 0 连接节点 2 // 遍历二维 vector for (int i 0; i adj.size(); i) { for (int j 0; j adj[i].size(); j) { cout adj[i][j] ; } cout endl; }四、P1075 [NOIP 2012 普及组] 质因数分解 - 洛谷#include iostream using namespace std; typedef long long ll; int main() { ios::sync_with_stdio(0), cin.tie(0); // 输入输出优化加快速度 ll n; cin n; // 遍历到 sqrt(n)找第一个能整除n的数较小质数 for (ll i 2; i * i n; i) { if (n % i 0) { cout n / i endl; // 输出较大质数 return 0; // 直接退出无需继续遍历 } } // 题目保证n是两个不同质数的乘积此处不会执行 return 0; }未解决P1009 [NOIP 1998 普及组] 阶乘之和 - 洛谷#includebits/stdc.h using namespace std; const int MAX_LEN 100; // 足够存储 50!...1!最多 65 位 // 高精度乘法将当前阶乘数组 a逆序乘以 x结果存回 a void mul(int a[], int len, int x) { int carry 0; // 进位 for (int i 0; i len; i) { int product a[i] * x carry; a[i] product % 10; // 当前位数字 carry product / 10; // 新的进位 } // 处理剩余进位可能新增位数 while (carry) { a[len] carry % 10; carry / 10; } } // 高精度加法将阶乘数组 a逆序长度 len_a累加到结果数组 sum逆序长度 len_sum void add(int sum[], int len_sum, int a[], int len_a) { int carry 0; // 进位 int max_len max(len_sum, len_a); for (int i 0; i max_len; i) { int s (i len_sum ? sum[i] : 0) (i len_a ? a[i] : 0) carry; sum[i] s % 10; // 当前位数字 carry s / 10; // 新的进位 } // 处理剩余进位 while (carry) { sum[len_sum] carry % 10; carry / 10; } } int main() { ios::sync_with_stdio(0), cin.tie(0), cout.tie(0); int n; cin n; int sum[MAX_LEN] {0}; // 存储累加和逆序 int len_sum 1; // sum 的初始长度1 位数字 0 int fact[MAX_LEN] {0}; // 存储当前阶乘 i!逆序 int len_fact 1; fact[0] 1; // 初始0! 1迭代计算 1! 0!×12! 1!×2... for (int i 1; i n; i) { mul(fact, len_fact, i); // 计算 i! (i-1)! × i add(sum, len_sum, fact, len_fact); // 累加 i! 到 sum } // 逆序输出 sum从最高位到最低位 for (int i len_sum - 1; i 0; --i) { cout sum[i]; } cout \n; return 0; }long long的最大值仅为9.22×10^18约 9e181. 数组存储规则用int数组存储数字逆序排列例如123存储为[3,2,1]乘法时从最低位下标 0开始计算进位自然向高位下标增大方向传递无需调整数组加法时同样从最低位对齐避免高位补零的麻烦。2. 高精度乘法mul函数输入当前阶乘数组a逆序、数组长度len、乘数x当前的i逻辑遍历数组每一位计算当前位×x 进位当前位存余数%10进位存商/10处理剩余进位乘法可能新增位数如999×21998从 3 位变 4 位需将进位依次存入数组。3. 高精度加法add函数输入结果数组sum逆序、sum长度len_sum、阶乘数组a逆序、a长度len_a逻辑遍历到两个数组的最大长度计算sum当前位 a当前位 进位当前位存余数进位存商处理剩余进位加法可能新增位数如99921001需将进位存入sum数组。4. 迭代计算流程初始fact [1]表示0! 1sum [0]累加和初始为 0循环i1到nmul(fact, len_fact, i)将fact从(i-1)!更新为i!add(sum, len_sum, fact, len_fact)将i!累加到sum中输出逆序遍历sum数组从最高位下标len_sum-1到最低位下标 0输出结果。
7个KubeSphere工作负载管理技巧:从Deployment到StatefulSet的完整运维指南 7个KubeSphere工作负载管理技巧:从Deployment到StatefulSet的完整运维指南 【免费下载链接】kubesphere The container platform tailored for Kubernetes multi-cloud, datacenter, and edge management ⎈ 🖥 ☁️ 项目地址: https://gitcode.com/Gi… 2026/7/9 21:23:40
终极指南:KubeSphere核心组件API Server与Controller Manager协同工作原理揭秘 终极指南:KubeSphere核心组件API Server与Controller Manager协同工作原理揭秘 【免费下载链接】kubesphere The container platform tailored for Kubernetes multi-cloud, datacenter, and edge management ⎈ 🖥 ☁️ 项目地址: https://gitcode.co… 2026/7/9 7:36:20
如何快速掌握KubeSphere API客户端开发:Go/Python SDK完整指南 如何快速掌握KubeSphere API客户端开发:Go/Python SDK完整指南 【免费下载链接】kubesphere The container platform tailored for Kubernetes multi-cloud, datacenter, and edge management ⎈ 🖥 ☁️ 项目地址: https://gitcode.com/GitHub_Trendi… 2026/7/10 23:23:53
Zulu AI开发搭子调教指南:上下文感知+规则驯化+IDE原生流 1. 这不是“AI写代码”,而是你亲手调教出的后端开发搭子我用文心快码整整两年半,从Zulu公测第一天起就在IntelliJ IDEA里把它当主力搭档——不是把它当搜索引擎,也不是当自动补全升级版,而是当成一个能听懂项目语言、记得住团队规… 2026/7/11 17:34:41
CANN/cannbot-skills特殊操作 特殊操作 【免费下载链接】cannbot-skills CANNBot 是面向 CANN 开发的用于提升开发效率的系列智能体,本仓库为其提供可复用的 Skills 模块。 项目地址: https://gitcode.com/cann/cannbot-skills 1. 概述 HFusion 方言的特殊操作包括调试操作、排序、直方图… 2026/7/11 17:34:41
ascii-art网页集成教程:在浏览器中实现动态ASCII艺术效果 ascii-art网页集成教程:在浏览器中实现动态ASCII艺术效果 【免费下载链接】ascii-art A Node.js library for ansi codes, figlet fonts, ascii art and other ASCII graphics 项目地址: https://gitcode.com/gh_mirrors/as/ascii-art 想要在网页中创建炫酷的… 2026/7/11 17:34:41
PIC18F8520与PAM8904构建工业级音频警报系统 1. 项目概述与核心组件选型在工业控制和智能家居领域,警报通知系统是保障设备安全运行的重要环节。这次我们要搭建的是一套基于PIC18F8520微控制器和PAM8904音频驱动器的硬件警报平台,它能根据不同类型的事件触发定制化的声音提示。PIC18F8520这款8位微控… 2026/7/11 17:32:41
TypeScriptCompiler编译器测试框架:自动化测试套件与错误检测机制终极指南 TypeScriptCompiler编译器测试框架:自动化测试套件与错误检测机制终极指南 【免费下载链接】TypeScriptCompiler TypeScript Compiler (by LLVM) 项目地址: https://gitcode.com/gh_mirrors/ty/TypeScriptCompiler TypeScriptCompiler是一个基于LLVM/MLIR构建… 2026/7/11 17:28:38
编程器固件 MAC 地址修复:3 种方法解决刷机后地址冲突与丢失 编程器固件 MAC 地址修复:3 种方法解决刷机后地址冲突与丢失当技术人员进行路由器硬改、救砖或批量刷机时,经常会遇到一个棘手的问题:刷写编程器固件后,设备的 MAC 地址出现重复或丢失。这不仅会导致网络冲突,还可能影… 2026/7/11 17:22:36
5分钟搞定Kodi字幕难题:智能字幕插件让你追剧无忧 [特殊字符] 5分钟搞定Kodi字幕难题:智能字幕插件让你追剧无忧 🎬 【免费下载链接】zimuku_for_kodi Kodi 插件,用于从「字幕库」网站下载字幕 项目地址: https://gitcode.com/gh_mirrors/zi/zimuku_for_kodi 还记得那个深夜吗?你刚下载… 2026/7/11 0:00:11
工业信号干扰处理与FOD4216光耦应用实战 1. 工业环境中的信号干扰挑战在工业自动化领域,信号采集的准确性直接关系到整个控制系统的可靠性。典型的工业现场充斥着各种干扰源:大功率电机启停产生的电磁干扰、变频器工作产生的高频噪声、继电器触点火花放电,以及长距离传输引入的共模干… 2026/7/11 0:00:11
OpenHarmony 完整项目工程整合规范 + 模块化分层架构(API23+ 标准企业级结构) 摘要前面系列教程覆盖了 ArkUI 组件、路由、生命周期、本地存储、网络请求、Ability 底层全套基础能力,本篇统一梳理标准工程目录分层、模块化拆分、代码复用规范、全局工具统一管理、项目打包权限配置、常见工程报错统一解决方案,形成可直接用于课程设计… 2026/7/11 0:00:11
6个月转型AI工程师:实战路径与核心技能 1. 项目概述:6个月转型AI工程师的可行性路径在2023年大模型技术爆发的背景下,AI工程师岗位需求同比增长217%(LinkedIn数据)。不同于传统算法工程师需要3-5年培养周期,现代AI工程师更侧重工程化落地能力。我在硅谷科技公… 2026/7/11 14:53:30
TPAFE0808与PIC18F87K22的多通道信号采集方案 1. 项目背景与核心需求在工业自动化、医疗设备和科研仪器等领域,多通道信号采集与系统监测是基础且关键的技术需求。传统方案往往面临通道数量不足、信号调理复杂、系统集成度低等问题。TPAFE0808作为一款8通道模拟前端芯片,与PIC18F87K22微控制器的组合… 2026/7/11 12:30:52
STC3115与PIC18LF26K80构建高精度电池管理系统 1. STC3115与PIC18LF26K80在电池管理系统中的核心价值在现代电子设备中,电池管理系统(BMS)的重要性不亚于设备的核心处理器。STC3115作为一款高精度电池电量监测IC,与PIC18LF26K80微控制器的组合,构成了一个既能精确监控又能智能管理的完整解… 2026/7/11 15:29:59