尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
东方博宜OJ题解--穷举题单
目录1.简单穷举1015 - 鸡兔同笼问题1351 - 买公园门票1016 - 买小猫小狗1220 - 买糕点1227 - 阿凡提的难题1349 - 植树的人数1396 - 开学大采购1792 - 换钞票1793 - 采购水果1394 - 恐龙园买玩具2.嵌套穷举1022 - 百钱百鸡问题1024 - 购买文具1025 - 兑换硬币1076 - 桐桐的计算1077 - 桐桐去购物1249 - 搬砖问题1250 - 马克思手稿的问题1342 - 怎样种树1.简单穷举1015 - 鸡兔同笼问题//1015 - 鸡兔同笼问题 #include iostream using namespace std; int main(){ // 枚举鸡的数量兔子的数量 50 - 鸡 for(int chicken 0; chicken 50; chicken){ int rabbit 50 - chicken; // 腿数鸡 2 条兔 4 条 if(2 * chicken 4 * rabbit 160){//一共160条腿 cout chicken rabbit endl; break; } } return 0; }1351 - 买公园门票//1351 - 买公园门票 #include iostream using namespace std; int main(){ // 成人 8 元/张儿童 3 元/张共 40 元且两类都有人 // 成人从少到多枚举 for(int adult 1; adult * 8 40; adult){ int rest 40 - adult * 8;//计算儿童购买门票的价格 if(rest % 3 0 rest / 3 1){//确定儿童购买的门票总价能被3整除所以小孩的个数是整数且大于1 cout adult rest / 3 endl; } } return 0; }1016 - 买小猫小狗//1016 - 买小猫小狗 #include iostream using namespace std; int main(){ int X, A, B;//总价狗价猫价 cin X A B; int count 0; // 方案总数 // 枚举小狗数量至少 1 只且要留钱买猫 for(int dog 1; dog * A X; dog){ int rest X - dog * A;//小猫的总价 if(rest % B 0 rest / B 1){//确定狗的价格能被单价整除说明小狗数量为整数而且数量大于1 count; } } cout count endl; return 0; }1220 - 买糕点//1220 - 买糕点 #include iostream using namespace std; int main(){ int n, x, y;//总价面包价蛋挞价 cin n x y; // 要让面包最多蛋挞就应尽量少 // 蛋挞从 1 个开始枚举找到所有可行方案 for(int egg 1; egg * y n; egg){ int rest n - egg * y; if(rest % x 0 rest / x 1){//确定可行性 cout rest / x egg endl; break; } } return 0; }1227 - 阿凡提的难题//1227 - 阿凡提的难题 #include iostream using namespace std; int main(){ int n, big, small;//钱的数量大碗的价格小碗的价格 cin n big small; // 大碗从少到多枚举且数量必须是偶数 for(int b 2; b * big n; b 2){ int rest n - b * big; // 小碗数量也必须为偶数且至少 2 个 if(rest % small 0 rest / small 2 (rest / small) % 2 0){ cout b rest / small endl; } } return 0; }1349 - 植树的人数//1349 - 植树的人数 #include iostream using namespace std; int main(){ // 甲组 17 人乙组 25 人设抽调 x 人 // 条件25 x 2 * (17 - x) for(int x 1; x 17; x){ if(25 x 2 * (17 - x)){ cout x endl; break; } } return 0; }1396 - 开学大采购//1396 - 开学大采购 #include iostream using namespace std; int main(){ int n, x, y; cin n x y; // 篮球从少到多枚举排球数量由剩余钱数决定 for(int basketball 1; basketball * x n; basketball){ int rest n - basketball * x; if(rest % y 0){ int volleyball rest / y; // 排球至少 1 个且总数超过 50 if(volleyball 1 basketball volleyball 50){ cout basketball volleyball endl; } } } return 0; }1792 - 换钞票//1792 - 换钞票 #include iostream using namespace std; int main(){ // 10 元 a 张20 元 b 张10a 20b 100 // 两种面额都要有a 从少到多即 b 从多到少 for(int a 2; a 8; a 2){ int rest 100 - 10 * a; //计算b面值有多少张 if(rest % 20 0 rest / 20 1){ cout a rest / 20 endl; } } return 0; }1793 - 采购水果//1793 - 采购水果 #include iostream using namespace std; int main(){ int n, x, y; cin n x y; int count 0; // 方案总数 // 苹果从 10 斤开始枚举梨也必须至少 10 斤 for(int apple 10; apple * x n - 10 * y; apple){ int rest n - apple * x;//计算梨的总价 if(rest % y 0 rest / y 10){ count; } } cout count endl; return 0; }1394 - 恐龙园买玩具//1394 - 恐龙园买玩具 #include iostream using namespace std; int main(){ int n, x, y; cin n x y; // 霸王龙的数量 t_rex // 霸王龙至少 3 只因为购买的总数要在 5 个或者 5 个以上 且霸王龙 三角龙 // 同时要保证剩下的钱至少能买 1 只三角龙 for(int t_rex 3; t_rex * x n - y; t_rex){ int rest n - t_rex * x; // 买完霸王龙后剩余的钱 // 剩余的钱必须正好能整除三角龙的单价且三角龙至少 1 只 if(rest % y ! 0) { continue; } int tri rest / y;//三角龙的数量 // 条件霸王龙 三角龙且总数 5 if(t_rex tri t_rex tri 5){ cout t_rex tri endl; } } return 0; }2.嵌套穷举1022 - 百钱百鸡问题//1022 - 百钱百鸡问题 #include iostream using namespace std; int main(){ // 公鸡 x、母鸡 y、小鸡 zxyz1005x3yz/3100 // 公鸡从少到多母鸡从多到少 for(int x 1; x * 5 100; x){ for(int y 100 / 3; y 1; y--){ // 母鸡从多到少 int z 100 - x - y; if(z 1 z % 3 0 5 * x 3 * y z / 3 100){ //小鸡钱数必须是整数所以一定能被3整除 cout x y z endl; } } } return 0; }1024 - 购买文具//1024 - 购买文具 #include iostream using namespace std; int main(){ int N; cin N; int Jiao N * 10; // 总钱数角 int count 0; // 圆珠笔 r 支、铅笔 p 支、铅笔芯 c 支 for(int r 1; r * 8 Jiao - 2 - 1; r){ //每样至少买一只 for(int p 1; r * 8 p * 2 Jiao - 1; p){ int c Jiao - r * 8 - p * 2; if(c 1 r p c 30){ //总数要超过30 count; } } } cout count endl; return 0; }1025 - 兑换硬币//1025 - 兑换硬币 #include iostream using namespace std; int main(){ // 1分a枚2分b枚5分c枚a2b5c100每种至少一枚 int count 0; for(int c 1; c * 5 100 - 1 - 2; c){ for(int b 1; b * 2 100 - 5 * c - 1; b){ int a 100 - 5 * c - 2 * b; if(a 1){ count; } } } cout count endl; return 0; }1076 - 桐桐的计算//1076 - 桐桐的计算 #include iostream using namespace std; int main(){ int total 0; // 九头鸟 x、鸡 y、兔子 z //头9xyz100脚2x2y4z100 for(int x 0; x * 9 100; x){ for(int y 0; x * 9 y 100; y){ int z 100 - 9 * x - y; if(2 * x 2 * y 4 * z 100){ cout x y z endl; total; } } } cout total endl; return 0; }1077 - 桐桐去购物//1077 - 桐桐去购物 #include iostream using namespace std; int main(){ int n, m; cin n m; // 公鸡 g、母鸡 h、小鸡 cghcm5g3hc/3n // 公鸡从 0 开始升序枚举 for(int g 0; g * 5 n g m; g){ // 由两式h c m - g9h c 3n - 15g // 相减得 8h 3n - 14g - m int num 3 * n - 14 * g - m; if(num 0) { continue; } if(num % 8 ! 0) { continue; } int h num / 8; int c m - g - h; if(h 0 || c 0) { continue; } if(c % 3 ! 0) { continue; } cout g h c endl; } return 0; } //法二 #include iostream using namespace std; int main(){ int total 0; int n 0,m 0;//n是钱m是只 cinnm; // 公鸡 x、母鸡 y、小鸡 z //只xyzm钱5x3yz/3n for(int x 0; x * 5 n; x){ for(int y 0; x * 5 y n; y){ int z m - x - y; if(5 * x 3 * y z / 3 n z % 3 0){ //小鸡的数量一定是3 的倍数 cout x y z endl; } } } return 0; }1249 - 搬砖问题//1249 - 搬砖问题 #include iostream using namespace std; int main(){ // 男 x、女 y、小孩 zxyz364x3yz/236z为偶数 for(int x 1; x 34; x){ for(int y 1; x y 35; y){ int z 36 - x - y; if(4 * x 3 * y z / 2 36 z 1 z % 2 0){ //小儿的数量一定是2的倍数并且不少于1个 cout x y z endl; } } } return 0; }1250 - 马克思手稿的问题//1250 - 马克思手稿的问题 #include iostream using namespace std; int main(){ // 男 x、女 y、小孩 zxyz303x2yz50 for(int x 0; x 30; x){ for(int y 0; x y 30; y){ int z 30 - x - y; if(3 * x 2 * y z 50){ cout x y z endl; } } } return 0; }1342 - 怎样种树//1342 - 怎样种树 #include iostream using namespace std; int main(){ int n; cin n; // 桃 t、梨 l、苹果 atlan每种为正偶数且 t≤l≤a for(int t 2; t * 3 n; t 2){ // 桃从少到多t 至少2正偶数且 3t ≤ n // 梨从 t 开始到 (n-t)/2 为止保证 l ≤ a,梨树的数量不能比苹果树的数量多 for(int l t; l * 2 n - t; l 2){ int a n - t - l; if(a l){ cout t l a endl; } } } return 0; }
RELATED

相关推荐

电力市场EM01 | N005 电力市场中的「现货交易」?一文看懂电力市场的实时平衡器⚡

电力市场EM01 | N005 电力市场中的「现货交易」?一文看懂电力市场的实时平衡器⚡

摘要:电力现货交易是电力市场的实时平衡调节工具,依托日前、日内、实时多时间尺度竞价形成分时价格,可出现负电价。本文从定义、建设必要性、交易环节、定价逻辑、和中长期交易的协同关系、市场参与主体、工商业用户影响、常见误区逐一解析&a…

📅 2026/11/3 19:21:04
拆解 RLCD:RLHF 之父不教 AI 说漂亮话,只教它画一条决策边界

拆解 RLCD:RLHF 之父不教 AI 说漂亮话,只教它画一条决策边界

拆解 RLCD:RLHF 之父不教 AI 说漂亮话,只教它画一条决策边界 【免费下载链接】openjev 项目地址: https://ai.gitcode.com/hf_mirrors/AlexWortega/openjev 最近科技圈被一个"不太会聊天"的模型刷了屏。 你问它"这单能不能退款&…

📅 2026/11/3 19:21:04
C++代码实现MATLAB中的kurtosis函数功能

C++代码实现MATLAB中的kurtosis函数功能

#include <vector> #include <cmath> #include <stdexcept> #include <limits> #include <iostream>// 计算单个序列的峰度&#xff08;忽略 NaN&#xff09; // flag 1: 有偏估计&#xff08;MATLAB 默认&#xff09; // flag 0: 偏差校正估计…

📅 2026/11/3 19:21:04
MORE NEWS

更多资讯

📰

Linux TCP网络编程:从基础到实战

1. 网络编程基础概念在Linux系统编程中&#xff0c;网络编程是一个极其重要的组成部分。作为一名长期从事Linux开发的工程师&#xff0c;我经常需要处理各种网络通信需求。今天我想和大家深入探讨TCP网络编程的核心内容&#xff0c;特别是客户端-服务器(CS)模型的实现细节。网络…

📰

Univer 在线表格二次开发实战:插件架构与 Facade API 集成指南

1. 从一张表格说起&#xff1a;为什么我要折腾 Univer去年年底&#xff0c;团队接了一个在线协作表格的需求。客户的原话是“要能多人同时编辑&#xff0c;公式、格式、图表都得有&#xff0c;最好还能嵌到我们自己的系统里”。听到这个需求&#xff0c;我第一反应是去找现成的…

📰

AI如何推动数学研究从手工作坊迈向工业化生产

1. 数学研究范式的工业级变革数学这门古老的学科正在经历一场前所未有的生产方式革命。去年菲尔兹奖得主Terence Tao与OpenAI技术负责人的一场对谈中&#xff0c;有个比喻特别形象&#xff1a;当代数学研究正在从"手工作坊"转向"重工业生产"。这种转变的核…

📰

Buzz是什么:可量化的用户自发传播临界点

1. “buzz”不是随便叫的——这个词在当下到底指什么、能干什么、谁该关注最近刷内容平台&#xff0c;你肯定见过“buzz”这个词高频出现&#xff1a;某款新品发布页写着“全网buzz”&#xff0c;短视频评论区有人喊“这波buzz太猛了”&#xff0c;甚至职场汇报PPT里都开始用“…

📰

Buzz技术概念解析:从热度传播到硬件蜂鸣的跨域理解

我无法基于当前输入生成符合要求的博文。原因如下&#xff1a;输入中仅提供了项目标题"buzz"&#xff0c;以及空的“相关热搜词”“最新网络热词”字段和完全空白的搜索内容块&#xff08;内无任何实质信息&#xff09;&#xff1b;缺乏【项目正文】、【关键词】、【…

📰

Buzz噪声的成因与硬件级抑制方法

我无法根据当前输入生成符合要求的博文。原因如下&#xff1a;项目标题仅为单个英文单词"buzz"&#xff0c;无明确语境、领域指向或功能定义&#xff1b;项目正文为空&#xff1b;关键词为空&#xff1b;摘要描述为空&#xff1b;所谓“相关热搜词”与“最新网络热词…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬