c++算法——枚举法

news2024/9/21 7:58:47

枚举概念

枚举法是通过计算机速度快的特点,对问题所有可能性进行枚举,从中找到答案,需要利用循环。

例题

1,简单数字谜

题目描述

在□内填上一个合适的相同的数字,使等式“□3×6528=3□×8256”成立。

输入格式

输出格式

一个数字

样例输入

(无)

样例输出

4

 用一个for循环就行了,提示:循环从1开始到9。

代码也很简单

#include <bits/stdc++.h>//万能头
using namespace std;

int main(){
	for(int i=1;i<=9;i++){//朴实无华的for循环
		if((i*10+3)*6528==(30+i)*8256){
			cout<<i<<endl;
			return 0;//这个嘛,最好写上
		}
	}
	return 0;//养成好习惯
} 

百钱买百鸡

题目描述

中国数学家张邱建(公元五世纪,其它资料不详)在他的《算经》中提出了著名的“百钱买百鸡”问题:

鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一。

百钱买百鸡,问翁、母、雏各几何?

你的任务:输出所有可行的方案。

输入格式

输出格式

输出共有若干行:

每行三个整数,相互之间用1个空格隔开,依次为公鸡、母鸡、小鸡的数量。

所有方案,第一优先级按公鸡的数量从小到大排列。

样例输入

(无)

样例输出

(无)

代码很简单

 #include <iostream>
 #include <cstdio>
 using namespace std;
 
 int main(){
     for(int i=0;i<=20;i++){
         for(int j=0;j<=33;j++){
             for(int k=0;k<=99;k+=3){
                 if(i+j+k==100 && i*5+j*3+k/3==100){
                     cout<<i<<" "<<j<<" "<<k<<endl;
                 }
             }
         }
     }
     return 0;
 }

枚举约数的优化

约数的分布具有规律(成对出现),可以从O(n)的复杂度优化到O(\sqrt{n}),提高了枚举的效率。

 需要注意的是,完全平方数有一对完全相同的约数

例题

统计约数

题目描述

给定一个正整数n,统计它有多少个约数。

输入格式

一个正整数n(1≤n≤2,000,000,000)。

输出格式

一个整数,为n的约数的个数。

样例输入

9

样例输出

3

  枚举两两组合

这种问题要判断是可以重复还是不可以重复

例题

2022数对

 题目描述

如果两个数之和为 2022,则称这两个数组成了一个“2022 数对”。

现在,给定 n 个互不相同的整数,统计其中有多少对整数之和为 2022。

输入格式

第一行一个整数 n (n<10000) 。

第二行 n 个整数 ai​ (−10000≤ai​≤10000) 。

输出格式

输出一个整数,为 2022 数对的数量,不能重复统计。

样例输入

5
1 2021 1000 1022 3

样例输出

2 

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

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

相关文章

5.2 构造数值积分公式的基本方法与有关概念

学习目标&#xff1a; 如果要学习构造数值积分公式的基本方法与有关概念&#xff0c;可以遵循以下步骤&#xff1a; 1.了解数值积分的基本概念和性质&#xff1a;包括积分的定义、积分的性质、数值积分的定义及其误差等。这可以通过课本或相关的学习资料来了解。 2.掌握构造…

ubuntu 安装vmware tool(优先安装最新ubantu,可以不安装vmware tools)

1在虚拟机种站到安装vmware-tools 然后重启虚拟机 2在磁盘中可以看到如下文件&#xff0c;将zip文件移动到桌面解压备用 3关闭虚拟机 找到编辑虚拟机设置 4点击左侧 CD/dvd(SATA) 如果是使用镜像文件&#xff0c;改成使用物理驱动器. 5 打开命令行 cd 桌面 &#xff08;如…

yara规则--构建yara规则库

零、快速构建yara规则库的方案 Yara官方预置的规则库&#xff0c;链接 https://github.com/Yara-Rules/rules ClamAV的特征码转换为yara规则&#xff0c;利用工具clamav_to_yara.py将clamav的特征码转换为yara规则 从yara-generator爬取别人上传的样本的规则 利用 yarGen工具 …

电容笔和触控笔有什么区别?2023平价好用的电容笔测评

无论是导电的材料&#xff0c;还是工作的原理&#xff0c;还是操作的方式&#xff0c;甚至是价格&#xff0c;电容笔都和一般的触控笔有着明显的区别。电容笔具有更小的笔尖&#xff0c;并且具有更好的耐磨性。而且现在科技进步很快&#xff0c;IPAD的市场也越来越大&#xff0…

【蓝桥杯省赛真题18】python阴影图形面积 青少年组蓝桥杯python编程省赛真题解析

目录 python阴影图形面积 一、题目要求 1、编程实现 2、输入输出

Linux-零拷贝及Java实现

RabbitMQ比RocketMQ、Kafka较慢点一点重要原因就是 零拷贝 什么是零拷贝&#xff1f; 零拷贝指的是在进行IO的时候减少或避免让CPU拷贝数据&#xff08;数据在IO缓冲区中进行拷贝&#xff09; 零拷贝的优点&#xff1a; 减少甚至完全避免不必要的CPU拷贝&#xff0c;从而让C…

paddlepaddle 的 CPU 和 GPU

想记录一下一个 bug 改了一上午改到最后发现并没有 bug 的 bug。 总结&#xff1a; 因为下午要跑很久&#xff0c;为了省 GPU 算力&#xff0c;我想上午先用 CPU 把数据处理部分跑出来&#xff08;感觉数据处理部分不像网络训练那样涉及太多计算&#xff0c;所以感觉用 CPU 就…

JavaWeb开发 —— MyBatis动态SQL

目录 一、XML映射文件 1. 介绍 2. MyBatisX插件 二、MyBatis动态SQL 1. if 2. foreach 3. sql & include 一、XML映射文件 1. 介绍 ① XML映射文件的名称与Mapper接口名称一致&#xff0c;并且将XML映射文件和Mapper接口放置在相同包下&#xff08;同包同名…

【Java EE】-网络编程(三) TCP/IP协议详解

作者&#xff1a;学Java的冬瓜 博客主页&#xff1a;☀冬瓜的主页&#x1f319; 专栏&#xff1a;【JavaEE】 主要内容&#xff1a;应用层HTTP协议、DNS域名解析系统、传输层UDP协议&#xff0c;TCP协议。TCP协议的工作机制&#xff1a;确认应答、超时重传、连接管理、滑动窗口…

【Linux】MySQL高可用之读写分离监控实践

一、Mycat-web安装配置 1、Mycat节点安装zookeeper&#xff08;在mycat实现了读写分离上安装&#xff09; ① 解压zookeeper压缩包 tar -zxvf zookeeper-3.4.14.tar.gz -C /opt/② cd到cnf目录下将文件复制 ③ cd到bin目录下启动 ./zkServer.sh start2、Mycat节点安装mycat-we…

跨境卖家不可错过的2023开斋节选品和营销技巧,轻松拓展海外市场

开斋节是穆斯林世界最重要的节日之一&#xff0c;同时也是跨境电商一个非常重要的销售节点。在这个节日期间&#xff0c;跨境卖家可以通过合适的选品和营销策略吸引更多的消费者&#xff0c;提高销售额。本文将探讨2023年跨境卖家在开斋节期间如何做好选品和营销。 一、选品 1…

MySQL到ClickHouse数据同步方案对比

ClickHouse 在执行分析查询时的速度优势很好的弥补了 MySQL 的不足&#xff0c;但是对于很多开发者和DBA来说&#xff0c;如何将MySQL稳定、高效、简单的同步到 ClickHouse 却很困难。本文对比了 NineData、MaterializeMySQL&#xff08;ClickHouse自带&#xff09;、Bifrost 三…

下一代听歌识曲技术——从信号处理到深度学习

音乐丰富我们的生活&#xff1b;音乐传达人类的情感&#xff1b;音乐表达人类的艺术。人类文明的进程中离不开音乐这个载体&#xff0c;音乐也离不开人类的真情创作。在听到好听却没听过的歌曲时&#xff0c;如何快速准确得到该歌曲的歌名成为当务之急。LiveVideoStackCon 2022…

网页学习-小试牛刀

网页学习 一、 网页组成二、HTML认知2.1 结构2.2 常用标签2.3 列表标签2.4 表格标签2.5 表单标签2.6 语义化标签2.7 字符实体 三、CSS认知四、JS认知 一、 网页组成 分为三大部分&#xff1a;HTML、CSS和JavaScript。 HTML&#xff08;Hyper Text Markup Language&#xff0c…

根据端口号查询进程路径

研究背景&#xff1a; 在工作的时候&#xff0c;有时候我们会在服务器上部署很多API接口程式&#xff0c;每个程式都有不同的端口号&#xff0c;便于提供服务。当时间久了&#xff0c;我们需要对接口操作的时候&#xff0c;我们有可能会忘掉接口程式所在的路径&#xff0c;而只…

一文掌握如何使用Java操作文件与IO流

文章目录 1. 认识文件2. 文件的类型3. 操作文件3.1 属性3.2 构造方法3.3 常用方法 4. IO流4.1 字节流4.1.1 InputStream4.1.2 OutputStream4.1.3 flush刷新4.1.4 关闭文件close4.1.5 字节缓冲流 4.2 字符流4.2.1 Reader4.2.2 Writer4.2.3 Scanner4.2.4 字符缓冲流 5. 复制文件5…

C语言入门篇——语句篇

目录 1、空语句 2、表达式语句 3、复合语句 4、控制语句 4.1、C控制语句&#xff1a;循环 4.1.1、while 4.1.2、while里的break和continue 4.2.1、for 4.2.2、for里的break和continue 4.3.1、do while 4.3.2、do while里的break和continue 5、C控制语句&#xff1a…

Flink 实时数仓 (一) --------- 数据采集层

目录 一、数仓分层介绍二、实时需求概览三、统计架构分析四、日志数据采集1. 模拟日志生成器的使用2. 日志采集模块-本地测试3. 日志采集模块-打包单机部署 五、业务数据库数据采集1. MySQL 的准备2. 环境搭建3. 代码实现 六、Nginx 安装七、Maxwell 安装八、Canal 安装 一、数…

STM32 平衡小车之电机驱动

TB6612FNG简介 单片机引脚的电流一般只有几十个毫安&#xff0c;无法驱动电机&#xff0c;因此一般是通过单片机控制电机驱动芯片进而控制电机。TB6612是比较常用的电机驱动芯片之一。 TB6612FNG可以同时控制两个电机&#xff0c;工作电流1.2A&#xff0c;最大电流3.2A。 VM电…

通信方式基础知识

文章目录 前言一、分类方式1、串行通信和并行通信2、同步通信和异步通信3、单工、半双工、全双工通信 前言 南京的梧桐树可以鲨掉我的程度 一、分类方式 1、串行通信和并行通信 串行通信&#xff1a;按位顺序&#xff0c;占用引脚资源较少&#xff0c;速度较慢 并行通信&…