java获取数组穷举_算法入门之简单粗暴:枚举算法(穷举法)

假设我们有这样一个场景:是否存在一个数使得□2*124□ ==1□*4316等式成立,这种等式是不是发现很眼熟,没错,这就是我们小时候经常玩的奥数,那么现在我们用程序如何来实现呢,这个很简单,通过简单的枚举算法就能解决问题,枚举算法又名穷举法:

代码如下

/**

* 场景一:是否存在一个数使得□2*124□ == 1□*4316成立

* 如果存在,请算出该值

*/public static voiddemo1() {Booleanflag= false;

intv=0;

for(inti=0;i<=9;i++) {if((i*10+2)*(124*10+i)==(10+i)*4316) {

v=i;flag= true;}

}if(flag) {System.out.println("使该等式成立的数字为:"+v);}else{System.out.println("使该等式成立的数字不存在");}

}结果:使该等式成立的数字为:5

很显然我们只需要从1-9每个数都试一遍就可以了,是不是很简单?

那接下来我们再看另一个等式:输入1-9,使□ □ □ +□ □ □ =□ □ □ 等式成立,输入的数字不能重复,请问一共有多少种组合?

有了场景一的启发我们是不是很无脑的就能写出下面的代码呢?

代码如下

/**

你可能感兴趣的:(java获取数组穷举)