计算任选 3个 (1 到 9 )的自然数,他们能通过 加 减 乘 除 运算组合 形成 24 。例如 , 1,3,8 就能 通过 1X3X8 这样的运算 得到 24. 或者 7+8 +9 = 24
程序员文章站
2022-04-21 10:39:07
记录某面试题答案如下:方法复杂,大佬勿喷public class cfb { public static void main(String[] args) { Set set = new TreeSet<>(); /*String s1=compare(9,4,9); System.out.println(s1);*/ String s1 = null; for(int...
记录某面试题
答案如下:方法复杂,大佬勿喷
public class cfb { public static void main(String[] args) { Set<String> set = new TreeSet<>(); /*String s1=compare(9,4,9); System.out.println(s1);*/ String s1 = null; for(int a=1;a<10;a++){ for(int b=1;b<10;b++){ for(int c=1;c<10;c++){ if(a+b+c==24||(a+b)*c==24||(a-b)*c==24 ||a*b+c==24||a*b-c==24||a*b*c==24 ||a*b/c==24||a/b*c==24){ /*System.out.println(a+""+b+""+c);*/ //从小到大排序,去重 s1=compare(a,b,c); set.add(s1); } /* 这些都是不可能存在的情况 if(a+b-c==24){ } if((a+b)/c==24){ } if(a-b+c==24){ } if(a-b-c==24){ } if((a-b)/c==24){ } if(a/b+c==24){ } if(a/b-c==24){ } if(a/b/c==24){ }*/ } } } for (String s : set) { System.out.println(s); } } //abc acb bac bca cab cba public static String compare(int a,int b,int c){ if(a>b){ if(a>c){ if(b>c){ return c+" "+b+" "+a;//a>b;a>c;b>c;==cba }else{ return b+" "+c+" "+a;//a>b;a>c;b<c;==bca } }else{ return b+" "+a+" "+c;//a>b;a<c;==bac } }else{ if(a>c){ return c+" "+a+" "+b;//a<b;a>c;==cab }else if(b>c){ return a+" "+c+" "+b;//a<b;a<c;b>c;==acb }else{ return a+" "+b+" "+c;//a<b;a<c;b<c;==abc } } } }
本文地址:https://blog.csdn.net/qq_42532161/article/details/107685397