例一:百钱买白鸡

1,问题描述:

公鸡每只5元,母鸡每只3元,三只小鸡1元,用100元买100只鸡,问公鸡、母鸡、小鸡各多少只?

例二:使用枚举法解决“填写运算符问题”

1,问题描述:在下面的算式中,添加“+”、“-”,“*”,“/”,4个运算符,使得这个式子成立。

5  5  5  5  5=5

例一:

public static void buyChicken() {int gj = 0;int mj = 0;int xj = 0;int sum = 0;for (gj = 0; gj < 20; gj++) {for (mj = 0; mj <= 33; mj++) {xj = 100 - mj - gj;if (xj % 3 == 0 && xj * 1 / 3 + 5 * gj + 3 * mj == 100) {System.out.println("公鸡:" + gj + "母鸡:" + mj + "小鸡:" + xj);}}}}

例二:

public static void yunSuan() {int j = 0;   //遍历变量int i[] = new int[5];//表示四个运算符int sign;//累加运算时的符号int result = 0;//最终运算结果int count = 0;//可能的结果数float left, right;//运算过程中位于符号左右的结果char oper[] = { ' ', '+', '-', '*', '/' };//char型符号,用于打印Scanner a = new Scanner(System.in);//输入五个操作数和想要获得的运算结果int n = 6;int[] arr = new int[n];for (int m = 0; m < n; m++) {//将输入的五个数放入数组int x = a.nextInt();arr[m] = x;}for (int y = 0; y < arr.length; y++) {//打印需要运算的五个数System.out.print(arr[y]);}for (i[1] = 1; i[1] <= 4; i[1]++)
// 循环4种运算符,1表示+,2表示-,3表示*,4表示  将0设置为空不使用,是为了可以利用同一个j进行操作数数组和运算符数组的遍历。{if ((i[1] < 4) || (arr[2] != 0)) // 运算符若是/,则第二个运算数不能为0,(注:“||”是或运算,两个条件至少要有一个成立,即第一个运算符为/时,第二个运算数不为0){for (i[2] = 1; i[2] <= 4; i[2]++) {if ((i[2] < 4) || (arr[3] != 0)) // 当第二个运算符为/时,第三个运算数不为0{for (i[3] = 1; i[3] <= 4; i[3]++) {if ((i[3] < 4) || (arr[4] != 0)) // 当第三个运算符为/时,第四个运算数不为0{for (i[4] = 1; i[4] <= 4; i[4]++) {if ((i[4] < 4) || (arr[5] != 0)) // 当第四个运算符为/时,第五个运算数不为0{// 主要运算步骤left = 0;right = arr[1];//取操作数的第一个sign = 1;//将char类型运算符数组对应转化为sgin// 使用case语句,将4种运算符填到对应的空格位置,并进行计算for (j = 1; j <= 4; j++) {switch (oper[i[j]]) {case '+':left = left + sign * right;//将计算结果变为左sign = 1;right = arr[j + 1];//将操作数数组索引后移break;case '-':left = left + sign * right;sign = -1;right = arr[j + 1];break;case '*':right = right * arr[j + 1];break;case '/':right = right / arr[j + 1];break;}}result = arr[5];// 开始判断,如果运算式子的结果和输入的结果相同,则表示找到一种算法,并输出这个解if (left + sign * right == result) {count++;for (j = 1; j <= 4; j++)System.out.print(arr[j] + "" + oper[i[j]]);System.out.print("=" + result);System.out.println();System.out.println(count + ":");}}}}}}}}}}

算法编程例题——枚举法相关推荐

  1. 最短寻道时间算法c语言,如果北京到上海有千亿条路,寻找最短路径用C语言编程用枚举法没效率,应该用什么算法才能高效解决它?...

    满意答案 l3324147 2013.12.02 采纳率:42%    等级:12 已帮助:6324人 迪杰斯特拉(Dijkstra)算法求图的单源最短路径 template void Dijkstr ...

  2. 暴力枚举法解决“炸弹人”游戏

    题目:最近小付迷恋上一款"炸弹人"游戏,在过关关卡中,他要在空地放置炸弹,使得被消灭的人最多,现在,小付请你帮他写一个程序,看看放于何处消灭的敌人最多.(炸弹可以消灭同一列的敌人和 ...

  3. 算法:枚举法---kotlin

    枚举法:效率低,循环所有的情况,找到正确答案 用于解决数学问题,还是很简单的. 比如,奥数里面: 算 法 描 述 题X题=题题题题题题 其中 算法描述题每一个为一个数字,请写出正确的数字. ok,我们 ...

  4. c语言穷举算法 枚举法,c语言枚举法 穷举法 ppt课件

    枚举法 穷举法 笨人之法 把所有可能的情况一一测试 筛选出符合条件的各种结果进行输出 分析 这是个不定方程 三元一次方程组问题 三个变量 两个方程 x y z 1005x 3y z 3 100设公鸡为 ...

  5. 【算法设计zxd】第四章蛮力法 1.枚举法 02穷举查找

    目录 蛮力法(brute force): [例4-1]链环数字对  问题分析  计算模型 pair_digital(int n): 代码: [例4-2]解数字迷: 思考题:ACM预测:​ 问题分析 ...

  6. 【枚举算法】枚举法概念

    枚举法,也称为列举法.穷举法,是暴力策略的具体体现,又称为蛮力法. 枚举法的基本思想是: 逐一列举问题所涉及的所有情形,并根据问题提出的条件检验哪些是问题的解,哪些应予排除. 枚举模式: 1)区间枚举 ...

  7. 常见算法思想1:枚举法

    一.枚举法 枚举算法的思想是:将问题的所有可能的答案一一列举,然后根据条件判断此答案是否合适,保留合适的,丢弃不合适的. 使用枚举算法解题的基本思路如下所示: (1)确定枚举对象.枚举范围和判定条件. ...

  8. c++算法——枚举法

    枚举概念 枚举法是通过计算机速度快的特点,对问题所有可能性进行枚举,从中找到答案,需要利用循环. 例题 1,简单数字谜 题目描述 在□内填上一个合适的相同的数字,使等式"□3×6528=3□ ...

  9. 蓝桥杯python省赛冲刺篇2——常用算法的详细解析及对应蓝桥杯真题:打表模拟法、递推递归法、枚举法、贪心算法、差分与前缀和

    注意:加了题目链接 目录 注意:加了题目链接 一.打表模拟法 介绍 1. 算式问题 题目描述 解析与代码演示 2. 求值 题目描述 解析与代码演示 3. 既约分数 题目描述 解析与代码演示 4. 天干 ...

最新文章

  1. C# 调用Excel 出现服务器出现意外情况. (异常来自 HRESULT:0x80010105 (RPC_E_SERVERFAULT)
  2. Python编程基础:第五十三节 匿名函数Lambda Function
  3. javase(Properties集合及学生对象信息录入文本中案例)
  4. 设计模式的征途—2.简单工厂(Simple Factory)模式
  5. 流操作中的noException
  6. tars 部署 oracle,Tars 部署介绍(必看)
  7. UE4 iOS设备的兼容性
  8. c++ stl下的sort()函数介绍及基本用法
  9. 2020N1叉车司机模拟考试及N1叉车司机复审模拟考试
  10. 笔记本计算机在桌面显示器,笔记本连接显示器
  11. 为什么街头篮球总提示服务器维护,我玩街头篮球,但这几天它总是说连接不上服务器怎么回事?...
  12. 【BlueZ5】 如何用MGMT接口实现ble slave
  13. NLP,能辅助法官判案吗? | CCF C³
  14. Readhub客户端
  15. 微信小程序导入Bmob后端云的步骤
  16. android egl使用方法,Android EGL
  17. 计算机输入法在桌面显示不出来的,电脑开机无法正常显示桌面只能看到输入法如何解决...
  18. Windows RGBDS 及 BGB 的安装 及 HelloWorld
  19. 2018上海区块链国际周倒计时,汇聚全球意见领袖的技术盛会
  20. 低代码,拯救“疯狂”的程序员

热门文章

  1. 华为云大数据智能数据湖FusionInsight
  2. led大屏按实际尺寸设计画面_主楼大报告厅LED屏幕使用须知
  3. win10运行快捷键_阿销带你看世界——电脑技巧之电脑快捷键(WIN篇2)
  4. Codeforces Round#768(Div.2)A-F
  5. Leetcode Weekly 188 解题报告
  6. plotly | python可视化进阶之路
  7. LTE学习笔记--MAC--HARQ
  8. Android下载工具DownloadManager
  9. 深脑链打地基,人工智能建高楼:DBC和AI的不解之缘
  10. Winows注册minio为服务器