算法基础——1.1暴力破解法(鸡兔同笼、韩信点兵问题)
来源:互联网 发布:qq for mac os x 10.7 编辑:程序博客网 时间:2024/05/20 03:41
利用计算机的优势:计算速度
采用最笨的计算方法
– 直接枚举每种可能的情况
– 情况数不是天文数字即可
– 要做到不遗漏
– 最好能不重复
/* 鸡兔问题 鸡兔同笼,头则50,脚则120。 问:鸡兔各几何。*/public class T1{public static void main(String[] args){int HEAD = 50;int FOOT = 120;// x: 鸡数, y: 兔数for(int x=0; x<HEAD; x++){int y = HEAD - x;if(x * 2 + y * 4 == FOOT){System.out.println("x=" + x + ",y=" + y);break;}}}}
例子2.韩信点兵:
/* 韩信点兵 今有士卒,千余人许。 5人为伍,则余1 7人为伍,则余2 8人为伍,则余3 试求确数*/public class T2{public static void main(String[] args){for(int i=1000; i<2000; i++){if(i%5==1 && i%7==2 && i%8==3) System.out.println(i);}}}3练习:
public class HomeWork1 {/*马与瓦总共有 100 匹马总共驮有 100 块瓦(古代的瓦,很大,很重)每匹大马每次能驮 3 块瓦每匹小马每次能驮 2 块瓦小马驹每次 2个马驹驮 1块瓦求各种马的数目提示:可能是多解的,要列出所有的解。*/public static void main(String[] args) {int big , middle , small;for(big = 1; big < 100; ++big)for(middle = 1; middle < 100; ++middle){small = 100 - big - middle ;if(small%2 == 0 && (big * 3 + middle * 2 + small * 0.5) == 100)System.out.println("大马:"+big+" \t小马:"+middle+" \t小马驹:"+small);}}}
0 0
- 算法基础——1.1暴力破解法(鸡兔同笼、韩信点兵问题)
- 鸡兔同笼问题java暴力求解算法
- 编程算法基础——暴力破解法
- 编程算法基础-暴力破解法
- 【算法】最近点对问题(暴力破解法)
- 经典算法——韩信点兵问题的简单算法
- 暴力破解算法——寻找密码(递归方法)
- (一)算法之暴力破解法
- 穷举算法 鸡兔同笼问题
- 暴力破解算法——寻找密码(进制替换法)
- 穷举算法求解鸡兔同笼问题(三)
- 韩信点兵问题算法
- Java基础算法(鸡兔同笼、古诗文倒序、递归入门程序、递归解决淘汰问题)
- 1.1--暴力破解法
- Java算法--穷尽算法 鸡兔同笼问题
- 韩信点兵算法——c语言实现
- 13-韩信点兵(算法)
- 基础练习——鸡兔同笼
- 协方差矩阵的实例与意义
- 大数据分析,什么样的美女最受男生青睐?
- GPL 协议 详细介绍
- iOS开发:block的探究(2)
- C#调用WebService实例和开发
- 算法基础——1.1暴力破解法(鸡兔同笼、韩信点兵问题)
- 来自一个程序猿前辈的经验总结 拿来分享给大家
- android 学习--Dalvik虚拟机与Java虚拟机
- nyist-组队赛(六)
- AJAX是什么? AJAX的交互模型(流程)?同步和异步的区别? AJAX跨域的解决办法?
- ONE源代码分析——router2之ActiveRouter
- ASP.NET验证控件详解
- struts2错误:The Struts dispatcher cannot be found.
- Valid signing identity not found解决办法(原有IDP私钥丢失)