0--暴力破解法
概念:
通过直接列举所有可能情况的求解思路。因为计算机的运算速度优势,在手工计算看似不可能的处理方法,通过机器计算很可能十分轻松。只要所列举的情况数目不是特别巨大即可。
思路:
a) 枚举所有可能的情况
b) 用条件来筛选可能情况
案例:
package day1; public class test { public static void main(String[] args) { example3(); } /** * 暴力破解法-鸡兔问题 * 鸡兔同笼,头共50,脚共120 * 问: 鸡兔各几何 * 结果: 鸡个数为: 40 兔个数为: 10 */ public static void example1(){ // x表示鸡个数, y表示兔个数 for(int x=0; x<50; x++){ int y = 50 - x; if(x*2 + y*4 == 120){ System.out.println("鸡个数为: " + x + " 兔个数为: " + y); } } } /** * 暴力破解法-韩信点兵 * 1 只知道总人数在1000人左右 * 2 5人一组,余1人;7人一组,余2人; 8人一组,余3人 * 问: 总人几何 * 结果: * 总人数为: 1171 总人数为: 1451 总人数为: 1731 */ public static void example2(){ for(int i=900; i<2000; i++){ if(i%5 ==1 && i%7 ==2 && i%8 ==3){ System.out.println("总人数为: " + i); } } } /** * 暴力破解法-马驮瓦 * 1 马共100头,瓦共100片 * 2 马分为: 大马,小马,,马驹 * 3 每匹大马每次能驮 3 块;每匹小马每次能驮 2 块瓦;小马驹每次 2个马驹驮 1块瓦 * 问: 各种马几何 * 结果: * 第1次结果--->大马为: 1 大马为: 32 马驹为: 67 第2次结果--->大马为: 2 大马为: 30 马驹为: 68 第3次结果--->大马为: 4 大马为: 27 马驹为: 69 第4次结果--->大马为: 5 大马为: 25 马驹为: 70 第5次结果--->大马为: 7 大马为: 22 马驹为: 71 第6次结果--->大马为: 8 大马为: 20 马驹为: 72 第7次结果--->大马为: 10 大马为: 17 马驹为: 73 第8次结果--->大马为: 11 大马为: 15 马驹为: 74 第9次结果--->大马为: 13 大马为: 12 马驹为: 75 第10次结果--->大马为: 14 大马为: 10 马驹为: 76 第11次结果--->大马为: 16 大马为: 7 马驹为: 77 第12次结果--->大马为: 17 大马为: 5 马驹为: 78 第13次结果--->大马为: 19 大马为: 2 马驹为: 79 第14次结果--->大马为: 20 大马为: 0 马驹为: 80 */ public static void example3(){ // 大马 x 小马y 马驹 z int count = 0; for(int x=0; x<34; x++){ for(int y=0; y<50; y++){ int z = 100 - x - y; if(3*x + 2*y + z/2 == 100){ ++count; System.out.println("第" + count + "次结果--->大马为: " + x + " 大马为: " + y + " 马驹为: " + z); } } } } }
相关推荐
C语言常用算法程序集配书程序
开源编程算法_C++_C_下载.zip
高清彩版 编程之法_面试和算法心得_高清带完整书签 最新版
C算法_基础_数据结构_排序和搜索
编程只是敲代码,最重要的是什么呢?就是核心思想,就是编程算法。
这是学习《计算机算法基础》中贪心方法时写的一个“实现一个更快的作业排序”程序,结果绝对正确!
VB常用数值算法集1 VB常用数值算法集1
详细介绍了神经网络算法、粒子群算法、遗传算法、模糊逻辑控制、免疫算法、蚁群算法、小波分析算法及其MATLAB的实现方式等内容; 第二部分详细介绍了智能算法的工程中的应用问题,包括模糊神经网络在工程中的应用、...
嵌入式系统软件设计中的常用算法(完整版)
蚁群算法的matlab编程思路,代码简单,实用
旅行商问题TSP的基本解法,运用matlab进行编程,采用遗传算法
一些MATLAB算法小程序,EM算法,CART算法等
竞争性编程所需的算法_C++_Java_下载.zip
美国大学生数学建模竞赛的一些常用算法,比较重要,比较常用
常用算法模板_C++.zip AC自动机,Dijkstra,Floyd,GCD,KMP,KMP扩展,Kruskal,LCM,LCS,LIS,Prim,SPFA,埃氏筛,背包,并查集,多边形面积,二分搜索,高精度加法,高精度阶乘,级角排序,进制转换,快速幂,...
算法导论与比赛常用算法示例_第1版 算法导论 ACM竞赛 编程比赛 资料
都是C语言常用的算法
FDK算法 重建三维图像,期中有GPU并行计算加速fdk算法的实例
常用排序算法示例程序,内含TChart8控件。 示例程序涉及15种排序算法,使用C++代码实现,包含每种算法核心思想的介绍;可设置排序的数据个数、数据刷新显示时间等;使用TChart控件显示数据,显示界面可缩放。
C 语言常用算法程序集,对搞数学计算的人有一定的帮助,收藏也不错,以备不时之需!