编程算法基础-暴力破解法
1.1 暴力破解法
鸡兔同笼
50头,120脚,鸡兔分别几仅仅?
/*鸡兔同笼 * 鸡兔同笼,头50,脚120 * 鸡兔几何? */ package ChickRabbit; public class ChickRabbit { public static void main(String[] args){ int chick; int rabbit; int HEAD=50; int FEET=120; for(chick=0;chick<=HEAD;chick++){ rabbit=HEAD-chick; if(rabbit*4+chick*2==FEET){ System.out.println("鸡:"+chick); System.out.println("兔:"+rabbit); } } } }
韩信点兵
韩信知道部队人数大约1000人左右,详细数字不详。
5人一组,余1人;
7人一组,余2人;
8人一组。余3人。
问,有多少人?
/*韩信知道部队人数大约1000人左右,详细数字不详。 5人一组,余1人。 7人一组。余2人; 8人一组,余3人。 问,有多少人?*/ package ChickRabbit; public class HanxinDianBing { public static void main(String[] args) { int n; for (n = 800; n < 2000; n++) { if (n % 5 == 1 && n % 7 == 2 && n % 8 == 3) { System.out.println("部队人数可能是:"+n); } } } }
部队人数可能是:891 部队人数可能是:1171 部队人数可能是:1451 部队人数可能是:1731
马与瓦
总共同拥有 100 匹马
总共驮有 100 块瓦(古代的瓦,非常大,非常重)
每匹大马每次能驮 3 块瓦
每匹小马每次能驮 2 块瓦
小马驹每次 2个马驹驮 1块瓦
求各种马的数目
提示:可能是多解的。要列出全部的解。
/*总共同拥有 100 匹马 总共驮有 100 块瓦(古代的瓦。非常大,非常重) 每匹大马每次能驮 3 块瓦 每匹小马每次能驮 2 块瓦 小马驹每次 2个马驹驮 1块瓦 求各种马的数目 提示:可能是多解的,要列出全部的解。*/ package ChickRabbit; public class HorseAndBrick { public static void main(String[] args) { int HORSE = 100; int BRICK = 100; int big; int mid; int little; for(big=0;big<=100;big++){ for(mid=0;mid<=100;mid++){ little=HORSE-big-mid; if(big*3+mid*2+little*0.5==BRICK){ System.out.println("各种马的数目可能是:大马:"+big+" 小马:"+mid+" 小马驹:"+little); } } } } }
各种马的数目可能是:大马:2 小马:30 小马驹:68 各种马的数目可能是:大马:5 小马:25 小马驹:70 各种马的数目可能是:大马:8 小马:20 小马驹:72 各种马的数目可能是:大马:11 小马:15 小马驹:74 各种马的数目可能是:大马:14 小马:10 小马驹:76 各种马的数目可能是:大马:17 小马:5 小马驹:78 各种马的数目可能是:大马:20 小马:0 小马驹:80