fork download
  1. public class Main {
  2.  
  3. private static boolean func(boolean a, boolean b, boolean c, boolean d) {
  4. return ((a != b) & (c != d)) | ((b != c) & (a != d));
  5. }
  6.  
  7. private static boolean testFunc(boolean a, boolean b, boolean c, boolean d) {
  8. int tmp = 0;
  9. tmp += a ? 1 : 0;
  10. tmp += b ? 1 : 0;
  11. tmp += c ? 1 : 0;
  12. tmp += d ? 1 : 0;
  13. return tmp == 2;
  14. }
  15.  
  16. public static void main(String[] args) {
  17. for (int i = 0; i < 15; i++) {
  18. boolean a = ((i & 1) == 1);
  19. boolean b = ((i & 2) == 2);
  20. boolean c = ((i & 4) == 4);
  21. boolean d = ((i & 8) == 8);
  22. System.out.println(i + ": func(" + a + ", " + b + ", " + c + ", " + d + ") = " + testFunc(a, b, c, d) + " | " +
  23. func(a, b, c, d));
  24. }
  25. }
  26. }
Success #stdin #stdout 0.04s 711168KB
stdin
Standard input is empty
stdout
0: func(false, false, false, false) = false | false
1: func(true, false, false, false) = false | false
2: func(false, true, false, false) = false | false
3: func(true, true, false, false) = true | true
4: func(false, false, true, false) = false | false
5: func(true, false, true, false) = true | true
6: func(false, true, true, false) = true | true
7: func(true, true, true, false) = false | false
8: func(false, false, false, true) = false | false
9: func(true, false, false, true) = true | true
10: func(false, true, false, true) = true | true
11: func(true, true, false, true) = false | false
12: func(false, false, true, true) = true | true
13: func(true, false, true, true) = false | false
14: func(false, true, true, true) = false | false