优化711问题
我们可以自定义x,y,z的大小为判断条件,检测寻找到第一个结果所用的次数,发现明显快很多,代码将判断条件改了即可,可以自己试试
public class issue1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//美国有一个连锁店叫做711店,将四个数乘起来为7.11,加起来也是7.11求这四个数
//通过检测三次循环比四次明显快很多
int number=1;
for(double x=2;x<711;x++) {
for(double y=1;y<711-x;y++) {
for(double z=1;z<711-x-y;z++){
// for(int w=1 ;w<711;w++) {
// if ((x*y*z*w)==711000000&&(x+y+z+w)==711) {
// System.out.println("x="+x+",y="+y+",z="+z+",w="+w);
// }
// }
number++;
double w=711-x-y-z;
if ((x*y*z*w)==711000000&&(x+y+z+w)==711) {
System.out.println("寻找次数为: "+number