之所以使用暴力破解法,是对于简单问题,没必要在设计算法方面花太多的精力,通过依靠计算机的运算速度优势,直接解决问题。
使用方法:
直接枚举所有的可能(不是无穷),对所有数据进行条件匹配,列出满足条件的所有值即可。
例:
/*
鸡兔问题
鸡兔同笼,头则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;
}
}
}
}
/*
韩信点兵
今有士卒,千余人许。
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);
}
}
}