Advertisement
Guest User

CrossMath

a guest
Apr 8th, 2020
185
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. const a = 1;
  2. const b = 2;
  3. const c = 3;
  4. const d = 4;
  5. const e = 5;
  6. const f = 6;
  7. const g = 7;
  8. const h = 8;//hard-coded
  9. const i = 9;
  10.  
  11. var arr = [a, b, c, d, e, f, g, i];
  12. function shuffleArray(array) {
  13.     for (var i = array.length - 1; i > 0; i--) {
  14.         var j = Math.floor(Math.random() * (i + 1));
  15.         var temp = array[i];
  16.         array[i] = array[j];
  17.         array[j] = temp;
  18.     }
  19. }
  20.  
  21. function check1(x1, x2, x3) {
  22.     return (x1 + x2) * x3 == 20;
  23. }
  24.  
  25. function check2(x1, /*x2 = 8,*/ x3) {
  26.     return x1 * 8 * x3 == 48;
  27. }
  28.  
  29. function check3(x1, x2, x3) {
  30.     return (x1 * x2) - x3 == 38;
  31. }
  32.  
  33. function check4(x1, x2, x3) {
  34.     return x1 + x2 - x3 == 0;
  35. }
  36.  
  37. function check5(x1, /*x2 = 8,*/ x3) {
  38.     return x1 * 8 * x3 == 80;
  39. }
  40.  
  41. function check6(x1, x2, x3) {
  42.     return x1 - x2 + x3 == 10;
  43. }
  44.  
  45. var solved = false;
  46. var attempts = 0;
  47. while(!solved) {
  48.     attempts++;
  49.     shuffleArray(arr);
  50.     console.log(`Running attempt ${attempts}, ${JSON.stringify(arr)}`);
  51.    
  52.     var x1 = arr[0];
  53.     var x2 = arr[1];
  54.     var x3 = arr[2];
  55.     var x4 = arr[3];
  56.     var x5 = arr[4];
  57.     var x6 = arr[5];
  58.     var x7 = arr[6];
  59.     var x8 = arr[7];
  60.  
  61.     if (check1(x1, x2, x3) && check2(x4, x5) && check3(x6, x7, x8)
  62.         && check4(x1, x4, x6) && check5(x2, x7) && check6(x3, x5, x8)) {
  63.             console.log(`The solution is: \n${x1}, ${x2}, ${x3}\n${x4}, 8, ${x5}\n${x6}, ${x7}, ${x8}\nThere were ${attempts} checks performed`);
  64.             solved = true;
  65.     }
  66. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement