基础算法-枚举算法

news2025/1/17 23:05:10

”现象“
基础算法-枚举方法-学习

方法:

将问题的所有可能的答案一一列举,然后根据条件判断此答案是否合适,保留合适的,舍弃不合适的
优化点:

  • 尽量减少枚举的可能,减少枚举的范围与条件
  • 尽量对问题简单化,减少程序变量的出现

最常见案例:
百钱买百鸡问题。 该问题叙述如下:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一;百钱买百鸡,则翁、母、雏各几何?
* 公鸡一个五块钱,母鸡一个三块钱,小鸡三个一块钱,
* 小明有一百块钱 要买一百只鸡,
* 问公鸡、母鸡、小鸡各多少只?
* 设公鸡x只 母鸡y只 小鸡z只
* 金额公式:5x+3y+z/3=100
* 数量公式:x+y+z=100

– 首先列举出各枚举值 - 可优化,来减少枚举次数 此处只列出了最复杂情况

  • 枚举全公鸡的只数: 100/5=20 公鸡最多20
  • 枚举全母鸡的只数: 100/3=33 母鸡最多33
  • 枚举全小鸡的只数: 100*3=300 小鸡最多20

在这里插入图片描述

代码方案:

    public static void enumAlgorithm(){

        for(int x=0;x<=20;x++){
            for (int y=0;y<=33;y++){
                for (int z=0;z<=300;z++){
                    // 公式一:
                    var money = x * 5 + y * 3 + z / 3;
                    var num = x + y + z;
                    if(money==100 && money==num){
                        log.debug("发现购买方案:公鸡{}只、母鸡{}只、小鸡{}只",x,y,z);
                    }
                }
            }
        }

    }

输出:
在这里插入图片描述

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

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

相关文章

操作系统备考学习 day1 (1.1.1-1.3.1)

操作系统备考学习 day1 计算机系统概述操作系统的基本概念操作系统的概念、功能和目标操作系统的四个特征并发共享虚拟异步 操作系统的发展和分类操作系统的运行环境操作系统的运行机制 年初做了一个c的webserver 的项目&#xff0c;在学习过程中已经解除部分操作系统的知识&am…

想要创建一个抖音百科词条怎么做?

抖音作为一个热门的社交媒体平台&#xff0c;用户数量众多&#xff0c;每天产生大量的内容。创建一个抖音百科词条可以帮助你或你所关注的事物增加曝光和知名度。接下来&#xff0c;本文伯乐网络传媒将为你介绍如何创建一个成功的抖音百科词条。 搜集相关信息 搜集与词条相关的…

【STM32教程】第二章 通用输入输出口GPIO

资料下载链接&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1hsIibEmsB91xFclJd-YTYA?pwdjauj 提取码&#xff1a;jauj 1. GPIO的基本结构 1.1 概述 GPIO&#xff08;General Purpose Input Output&#xff09;意思是通用输入输出口可配置为8种输入输出模式&a…

面试题——网络IO模型

一、socket socket是在应用层和传输层中间的抽象层&#xff0c;它把传输层&#xff08;TCP/UDP&#xff09;的复杂操作抽象成一些简单的接口&#xff0c;供应用层调用实现进程在网络中的通信。Socket起源于UNIX&#xff0c;在Unix一切皆文件的思想下&#xff0c;进程间通信就被…

SAP-QM-质检操作

一、系统自动创建检验批 1、物料主数据设置 MM03-质量管理-检验设置-04来自生产收货的检验 检验类型 过账到检验库存&#xff1a;勾选进入检验库存 控制检验批&#xff1a;控制检验批的产生方式&#xff0c;按订单产生、按行产生、按凭证产生&#xff0c;例每个物料凭证项目…

antd5:form组件底层封装库field-form-1.37.0启动

一开始node版本是18.16.0 npm install发现安装依赖成功 npm start发现启动出错 node:internal/crypto/hash:71this[kHandle] new _Hash(algorithm, xofLen);^Error: error:0308010C:digital envelope routines::unsupportedat new Hash (node:internal/crypto/hash:71:19)…

神经网络NLP基础 循环神经网络 LSTM

用的时候&#xff0c;只关心token的输入&#xff0c;以及hidden state就好了 sequence的length是多少&#xff0c;lstm的cell的数量就是多少 LSTM BI-LSTM stacked lstm GRU 实现

手把手教你劳动仲裁

手把手教你劳动仲裁 前言什么是劳动仲裁劳动仲裁的痛点对公司没有影响&#xff0c;而你只拿到你该拿到的时间 个人劳动仲裁的流程第一步&#xff1a;去当地仲裁委立案窗口&#xff08;你公司所在地区的仲裁委&#xff09;第二步: 填写仲裁申请书个人信息企业信息请求事项事实缘…

【OpenCL基础 · 一】因源

文章目录 前言一、单核标量处理器的瓶颈1.提升时钟频率2.提升指令级并行能力 二、多核和向量化1.多核2.向量化 三、异构并行和OpenCL1.GPGPU2.CUDA和OpenCL 前言 随着人工智能的发展以及大部分场景中实时性的要求&#xff0c;人们对于计算机算力要求逐渐增加。为了提高计算速度…

独家揭秘!短视频商城小程序源码:打造属于你的购物新体验

近年来&#xff0c;随着移动互联网的快速发展&#xff0c;短视频平台逐渐流行起来。借助短视频的视听魅力&#xff0c;人们可以更加轻松地了解产品和服务&#xff0c;这使得短视频平台在商业领域中扮演了重要的角色。而如今&#xff0c;短视频商城小程序源码横空出世&#xff0…

ElasticSearch学习4--复杂查询

1、查询分类 查询所有&#xff1a;查询出所有数据&#xff0c;一般测试用。例如&#xff1a;match_all全文检索&#xff08;full text&#xff09;查询&#xff1a;利用分词器对用户输入内容分词&#xff0c;然后去倒排索引库中匹配。例如&#xff1a; match_query 根据单个字段…

封装动态表单组件

技术栈&#xff1a;vue2 js webpack 需求&#xff1a; 利用数据渲染表单&#xff0c;实现代码的精简化及效率的提升。 效果图&#xff1a; 封装的组件&#xff1a; <div v-if"formConfig"><el-formv-bind"$attrs"ref"formDom":model…

为什么你懂英语但不能说流利 学习

目录 对于提升口语流畅度&#xff1a; 我们应该做到是输入和输出占比为3&#xff1a;7&#xff1b;可实际做到的是7&#xff1a;3 但是这个方法也有一个问题&#xff0c;就是没有错误反馈 最好的就是在一个开始的时候&#xff0c;就学对&#xff0c;第一次的效果很重要 另…

vscode中讨厌的蓝色波浪线的去除小trick和原理

问题描述 不小心“设置同步”时和远程电脑的合并&#xff08;merge&#xff09;了&#xff0c;然后就出现了这个问题&#xff01;烦死了&#xff01;&#xff01;&#xff01; 大概是这个样子&#xff1a; 解决办法 站在了巨人的肩膀上&#xff0c;在下图位置输入这样一行参数&…

【TCP】四次挥手(最强详解!!通俗易懂!!)

目录 想要了解三次握手的话可以参考我的另外一篇博客 首先来了解一下FIN和ACK FIN ACK 接着我们再来具体的了解TCP四次挥手过程 转换为最最通俗理解方法: 想要了解三次握手的话可以参考我的另外一篇博客 【TCP】三次握手&#xff08;最强详解&#xff01;&#xff01;通俗…

DVWA XSS

反射型 low 查看源代码&#xff0c;没有任何过滤 构造 medium 这里是过滤了 high 这里把双写和大小写和JavaScript都过滤了,用事件来绕过<img src0 οnerrοralert(“xss”)> impossible 这里使用htmlspecialchars进行实体转换并且输出的结果还不能使用事件来…

HarmonyOS/OpenHarmony(Stage模型)应用开发单一手势(一)

一、点击手势&#xff08;TapGesture&#xff09; TapGesture(value?:{count?:number; fingers?:number}) 点击手势支持单次点击和多次点击&#xff0c;拥有两个可选参数&#xff1a; count&#xff1a;非必填参数&#xff0c;声明该点击手势识别的连续点击次数。默认值为…

Python Qt学习(七)Listview

源代码&#xff1a; # -*- coding: utf-8 -*-# Form implementation generated from reading ui file qt_listview.ui # # Created by: PyQt5 UI code generator 5.15.9 # # WARNING: Any manual changes made to this file will be lost when pyuic5 is # run again. Do not…

数据库设计DDL

DDL&#xff1a;数据定义语言&#xff0c;用来定义数据库对象&#xff08;数据库、表&#xff09; DDL&#xff08;数据库操作&#xff09; 查询&#xff1a; 查询所有数据库&#xff1a;show databases; 查询当前数据库&#xff1a;select database(); 使用&#xff1a; 使用…

前端实习第七周周记

前言 第六周没写&#xff0c;是因为第六周的前两天在处理第五周的样本库部分。问题解决一个是嵌套问题&#xff08;因为我用到了递归&#xff09;&#xff0c;还有一个问题在于本机没有问题&#xff0c;打包上线接口404。这个问题我会在这周的总结中说。 第六周第三天才谈好新…