算法学习之穷举--泊松分酒详细代码加注释

穷举法——24点游戏 一、 算法设计思路 1.作业题目及要求 (1)题目:24点游戏是经典的纸牌益智游戏。 常见游戏规则:从扑克中每次取出4张牌。使用加减乘除,第一个能得出24者为赢。(其中,J代表11,Q代表12,K代表13,A代表1),按照要求编程解决24点游戏。 (2)要求: 随机生成4个代表扑克牌牌面的数字字母,程序自动列出所有可能算出24的表达式,用擅长的语言(C/C++/Java或其他均可)实现程序解决问题... 阅读详情

1.穷举思想简述
  穷举法可谓是计算机程序设计中最经典也最为简单的一种算法,其依赖于计算机强大的计算能力来穷尽每一种可能存在的情况,从而达到问题的求解。另外,该法也被称之为暴力求解法;实际上如果你愿意的话,几乎大多数问题都可以转换为穷举求解的过程,但因为穷举算法的效率不高,所以它一般被用于一些没有明显规律可循的场合。
  
2.算法的执行流程
  在使用穷举法时,首先是明确问题答案的范围,以便在指定范围内搜索答案。指定范围以后,则可通过循环和条件判断的方式逐个验证每个答案,从而得出符合条件限定的正确答案。

原文:https://blog.youkuaiyun.com/a574780196/article/details/84038237 
 

本人小白希望哪里做的不好不对希望大佬们谅解

 

package sharewine;
/*
    泊松分酒  穷举学习 大致理解思想就是不停的按照指定的规则去倒酒 直到导出后停止
    初始酒量: 12 0 0
    12L
    8L
    5L

    6L
    制定一些计划
    1->2->3->1
    1等2为空的时候再倒酒,2必须把3倒满 ,3满后才向1中到
 */
public class ShareWine {
    private int b1=12;
    private int b2=8;
    private int b3=5;
    private int m=10;//目标酒量
    private void backBottle(int bb1,int bb2,int bb3){
        System.out.println("bb1:"+bb1+"---"+"bb2:"+bb2+"---"+"bb3:"+bb3);
      //首先判断是否有条件成立的酒杯
        if(bb1==m||bb2==m||bb3==m){
            System.out.println("倒出了"+m);
        }else{
            //第二个杯子为空了按照规定应从第一个杯子向第二个杯子到
            if (bb2==0){
                //第二个杯子能呗倒满
                if (bb1>=bb2){
                    backBottle(bb1-b2,b2,bb3);
                }else {
                    backBottle(0,bb2+bb1,bb3);
                }
            }else if (bb3!=b3){
                //第二个杯子不为空的时候 且第二杯中的酒倒向第三杯时能够倒满时
                   if (bb3+bb2>=b3){
                       backBottle(bb1,bb2-(b3-bb3),b3);
                       //第二个杯子不能为空的时候,且第二杯想第三杯到的时候倒不满
                   }else {
                       backBottle(bb1,0,bb3+bb2);
                   }
                   //bb3中满的时候
            }else if (bb3==b3){
                backBottle(bb1+b3,bb2,0);
            }
        }
    }

    public static void main(String[] args) {
        ShareWine a=new ShareWine();
        a.backBottle(12,0,0);
    }

}

 

三种算法求两个正整数的最大公约数和最小公倍数;求三个数的最大公约数和最小公倍数 第二次作业 题目:求两个正整数的最大公约数和最小公倍数。 基本要求:1.程序风格良好(使用自定义注释模板),两种以上算法解决最大公约数问题,提供友好的输入输出。 提高要求:1.三种以上算法解决两个正整数最大公约数问题。                    2.求3个正整数的最大公约数和最小公倍数。 一. 算法分析         已知结论:a,b的最大公约数 * 其最小公倍数 = a... 阅读详情

相关推荐

算法:捕鱼分鱼

捕鱼分鱼。 代码: /*头文件*/ #include <stdio.h> /*主函数*/ int main(void) { /*代表A,B,C,D,E四个人*/ char ABCDE; /* sum=1,代表鱼从第一条开始,用以穷举 temp,每次循环保存sum的值,以防止改变sum值 a,为计数器,记录每次的鱼有多少次满足题目要求,如果为5次,那么说明这是一个...

ljw 6613

泊松分酒

有一个12品脱(pint)的酒瓶,里面装满葡萄酒,另有8品脱和5品脱的瓶子各一个。问如何从中分出6品脱的酒出来?

u010565695的专栏 1379

华为OD机试 - 模拟商场优惠打折II - 穷举 (Java 2024 E卷 100分)

刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释发现新题目,随时更新。

学Java,找哪吒 1305

第三届蓝桥杯——泊松分酒

例如,用户输入:12,8,5,12,0,0,6     用户输入的前三个数是容器容量(由大到小),接下来三个数是三个容器开始时的油量配置,最后一个数是要求得到的油量(放在哪个容器里得到都可以)    则程序可以输出(答案不唯一,只验证操作可行性):12,0,04,8,04,3,59,3,09,0,31,8,31,6,5    每一行表示一个操作过程中的油量状态。    import ja

你青春还有多久 1638

泊松分酒 c语言实现

泊松分酒源代码,典型的广搜算法解决,很好的学习广搜算法的一般模式求解问题

西红柿成熟度检测数据集总结

成熟度类别标注数量semiripe(半成熟)10275rotten(腐烂)13470fullyripe(完全成熟)35031unripe(未成熟)26212。

crz1336768325的博客 2127

穷举:泊松分酒

有3个容器,容量分别为12升,8升,5升。其中12升中装满油,另外两个空着。要求你只用3个容器操作,最后使得某个容器中正好有6升油。 首先定义一套规则 题目中的瓶子总共有三种,最大的A,中等的B,最小的C,我们规定: 最大的瓶子只能往中等的瓶子倒;(若中等的瓶子为空) 中等的瓶子只能往最小的瓶子倒;(若最小的瓶子不满) 最小的瓶子只能往最大的瓶子倒;(若最小的瓶子已满) 按照规则把所有情况列举出来即可,如果最后没倒成功,说明此规则对目标不可行。 public class ShareW..

u014203449的博客 1325

Cadence 17.2 OrCAD原理图库实战:从零创建电阻/电容/LED元件(附封装技巧)

本文以Cadence 17.2 OrCAD为核心,详细讲解了如何从零开始工程化地创建电阻、电容、LED等原理图库元件。内容涵盖库架构设计、符号绘制、引脚属性管理、封装关联技巧以及设计规则检查,旨在帮助硬件工程师构建规范、可复用且易于维护的元件库,为高效PCB设计奠定坚实基础。

weixin_29195615的博客 402

泊松分酒 C

#include<stdio.h> int i,n; int probo(int a,int bv,int cv){ int n=0,b=0,c=0; while(!(a==i||b==i||c==i)){ if(!b) if(a<bv) { n=-1;break; } else{ a-=bv,b=bv; } ...

smxuehr的博客 3209

基于UCD3138的数字控制硬开关全桥DC-DC电源设计实战解析

在开关电源设计中,数字控制技术正逐步取代传统模拟方案,以其卓越的灵活性、可编程性和强大的数据处理能力,成为应对复杂动态响应与智能化需求的关键。其核心原理在于通过高精度模数转换器(ADC)实时采样电压、电流信号,经由数字信号处理器(如ARM内核)运行PID等控制算法,动态调整数字脉宽调制(DPWM)输出,从而实现对功率级的精确控制。这种技术价值体现在能够轻松实现高级算法(如输入电压前馈、非线性补偿)、灵活配置保护参数,并通过PMBus等接口实现智能化监控与管理。其典型应用场景包括通信基站、服务器电源以及工业设

1313

基于深度学习的大豆病害检测识别系统:YOLOv10 + UI界面 + 数据集

YOLOv10是一种高效的目标检测算法,能够在保持高精度的同时,提供较快的检测速度。YOLOv10使用了改进的卷积神经网络架构,并在多个计算机视觉任务中表现出色。在本项目中,我们将使用YOLOv10进行大豆病害的检测和分类。本系统利用YOLOv10算法,实现了大豆病害的实时检测和分类。通过结合深度学习和图像处理技术,可以帮助农业领域的专业人员更加高效地识别和诊断大豆病害,提高农作物的生产力与质量。

YOLO 700

「Java实战」贪心算法VS穷举法:从理论解析到案例实战,全面掌握算法精髓

本项目通过Java语言实现了贪心算法和穷举法的具体应用案例:广播覆盖问题和钱币找零问题。通过这些案例,读者可以更好地理解这两种算法的工作原理及其适用场景。

2302_79622705的博客 1949

迟滞电压比较器电路的原理与计算

迟滞电压比较器是一种具有双阈值特性的电路,通过正反馈机制实现抗噪声干扰功能。文章详细分析了其工作原理,包括同相型和反相型两种结构的电压阈值计算与电阻设计方法,并提供了已知门限求电阻和已知电阻求门限的推导公式。工程应用中需注意输出类型匹配、电阻取值范围、噪声裕量设计等问题。该比较器在信号处理、波形转换等场景中具有重要应用价值,设计时需综合考虑供电电压、参考电压和噪声特性等因素。

硬核科技 2688

C/C++ 编程中最常用的算法 - 穷举搜索

穷举搜索算法,将所有结果都查询一遍。 优化穷举搜索想法!

cpp_learner的博客 1684

14、网络切片技术:原理、应用与挑战

本文详细探讨了网络切片技术的原理、应用场景及其在5G网络中的重要性。网络切片作为一种关键的网络架构技术,能够在同一物理网络上创建多个独立的逻辑网络,以满足不同应用对安全性、可靠性和性能的多样化需求。文章深入分析了网络切片在5G、SDN/NFV等技术背景下的发展与挑战,并探讨了其在制造业、交通运输、零售等多个行业的实际应用。此外,还介绍了网络切片的部署流程、未来发展趋势以及相关技术难点,为读者全面了解网络切片技术提供了有价值的参考。

palm99的专栏 255

【芯片设计- RTL 编译与仿真 1.2 -- Visualizer 常用使用命令】

打开波形后,如果想要看到所有信号的数据,可以点击下图中红框中的按钮,因为默认verdi 默认并不是显示所用信号。如果想统计某一个信号中有多少笔数据时,可以使用 Expression->Edege Count 功能。如下图所示,如果没有打开前导0的功能时,当某一笔数据位0时,只会显示1个0。如果需要将波形的数据导出到文本文件时,可以按照下面步骤进行。打开前导0功能之后,会根据数据位宽来显示对应0的个数。

CodingCos的博客 2049

A* 流程+代码详细注释

1、Dijkstra’s算法 2、A*算法 3、A* C++详细注释

weixin_45438628的博客 1675

CAMERALINK硬件封装说明

闲言少叙,直接上活,Cameralink硬件接口当前主要分为MDR26和SDR26两种,其中MDR对应封装较大价格比较便宜,SDR对应尺寸较小价格比较贵,这点我个人总是记错的图1 MDR26实物图图2 SDR26实物图。

6174

JS学习第四天之穷举法

算法之穷举法 顾名思义,所谓的穷举法就是把问题的所有解决方案都一一找出来,此法适用于一个问题有多种解决方案,或找最佳方案等。 小明去超市买商品,手里100元发现,毛巾5元/条 牙刷2元/只 牙膏 10元/支,问:将100元花完,共有多少种购买方案? 思路分析: 找到条件和问题 买毛巾、牙膏或牙刷的总价为100元 找出购买的方案 先转化为数学问题 设毛巾数为i,牙膏数为j,牙刷数...

weixin_45677117的博客 539

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

穷举法解决组合问题

*/ * Copyright (c) 2011, 烟台大学计算机学院 * All rights reserved. * 作 者: 孙培培 * 完成日期:2012 年 11月8日 * 版 本 号:v1.0 *  * 输入描述:略 问题描述:求和 * 程序输出:见下  * 问题分析问题分析与算法设计:本问题实际上是一个排列问题,即求从 5 个中取 3 个进行排列 的方法的总数。首

sunpeipei220的专栏 1273

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

24点游戏(穷举算法+JavaFX界面/回溯算法)--注释详细

题目介绍: 版本一: package data_structure_curriculum_design.experiment3_24point_poker_game.version1; import javafx.application.Application; import javafx.geometry.Insets; import javafx.geometry.Pos; import javafx.scene.Scene; import javafx....

flow 1245

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

合唱团【穷举法】

题目 链接:https://www.nowcoder.com/questionTerminal/661c49118ca241909add3a11c96408c8 来源:牛客网 有 n 个学生站成一排,每个学生有一个能力值,牛牛想从这 n 个学生中按照顺序选取 k 名学生,要求相邻两个学生的位置编号的差不超过 d,使得这 k 个学生的能力值的乘积最大,你能返回最大的乘积吗? 输入描述: 每个输入包含 1 个测试用例。每个测试数据的第一行包含一个整数 n (1 <= n <= 50),表示学生的个数

qq_43224177的博客 199

[C#] 10进制转62进制,实现穷举指定位数的所有密码组合(暴力破解)

因为我们这里要穷举的密码包括0-9,a-z,A-Z共62个字符,所以我们采用62进制来遍历。 首先,我们实现一个10进制转62进制的方法。 private static char[] charSet = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ".ToCharArray();

Hauk.Wong 3548

C++实践参考解答 穷举法解决组合问题

C++实践参考解答 穷举法解决组合问题

hgdfguj的博客 663

马农???(穷举+哈希)

算法课上的一道作业。题目 在观看完战马检阅之后,来自大草原的两兄弟决心成为超级”马农”,专门饲养战马。兄弟两回到草原,将可以养马的区域,分为N*N的单位面积的正方形,并实地进行考察,归纳出了每个单位面积可以养马所获得的收益。接下来就要开始规划他们各自的马场了。首先,两人的马场都必须是矩形区域。同时,为了方便两人互相照应,也为了防止马匹互相走散,规定两个马场的矩形区域相邻,且只有一个交点。最后,互

GOTOTHEBAD 1313
上一篇: Parameter 'disname' not found. Available parameters are [3, 2, 1, 0, param1, param2, param3, 4,
下一篇: 蓝桥杯试题:四平方和 java(穷举)
ArchitectDream
博客等级 码龄9年 48粉丝 288原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值