枚举(穷举)算法
枚举法的本质就是确定各个变量的范围去搜索,根据等式成立条件一一判断找出正确的解,使用该算法需要满足两个条件:
(1)可预先确定候选答案的数量;
(2)候选答案的范围在求解之前必须有一个确定的集合。
填数游戏题:
分析:算和题的数字范围只能是1-9,其他的数字范围是0-9;一一枚举出来验证答案是否正确;
package jtlyuan.iteye.com;
public class Exhaustion {
public static void main(String[]args) {
for(inti1=1;i1<=9;i1++)
for(inti2=0;i2<=9;i2++)
for(inti3=0;i3<=9;i3++)
for(inti4=0;i4<=9;i4++)
for(inti5=1;i5<=9;i5++){
int opera =10000*i1+1000*i2+100*i3+10*i4+i5;
int result=111111*i5;
if(i1*opera==result){
System.out.println(" "+opera);
System.out.println(" X____"+i1);
System.out.println(" "+result);
}
}
}
}
结果:
79365
X____7
555555