Skip to main content
Commonmark migration
Source Link

#Java 8, 299 288 286 252 210 208 224 bytes

Java 8, 299 288 286 252 210 208 224 bytes

#Java 8, 299 288 286 252 210 208 224 bytes

Java 8, 299 288 286 252 210 208 224 bytes

added 168 characters in body
Source Link
Kevin Cruijssen
  • 131.4k
  • 13
  • 144
  • 384

#Java 8, 299 288 286 252 210 208208 224 bytes

Math M;(a,b,c,d,e,f,g,h,i,j)->{double t=M.pow(i,j),y=t*l(h,c)+ly=l(l(g,b),c)-M.pow(d,e);return a>1&&f<2|+l(c<2|d<2?lh,c)*t,z=l(l(Ma,f)*M.pow(b,c)*l(a,f),g);return a>1&&f<2|(b<2|g<2?z>h:c<2|d<2?l(z,h)>t:y==0?a>f:y<0);}double l(double...A){return M.log(A[0])/M.log(A[1]);}

Port of @SimplyBeautifulArt's Ruby answer, so make sure to upvote him!
-14 bytes thanks to @SimplyBeautifulArt.
+17 bytes for the same bug-fixes as the Ruby answer.

Try it online.Try it online.

Math M;                      // Math M=null on class-level to save bytes

(a,b,c,d,e,f,g,h,i,j)->{     // Method with ten integer parameters and boolean return-type
  double t=M.pow(i,j),       //  Temp `t` = `i` to the power `j`
    y=t*ly=l(hl(g,b),c)               //  Temp `y` = `t` * `c`_log(`h``b`_log(`g`))
      +l(l-M.pow(g,b)d,ce)            //  - +`d` `c`_log(`b`_log(`g`))to the power `e`
      -M.pow+l(dh,ec);*t,             //  + -`c`_log(`h`) `d`* `t`
    z=l(l(a,f)*M.pow(b,c),g);//  Temp `z` = `g`_log(`f`_log(`a`) * `b` to the power `e``c`)
  return a>1&&               //  If `a` is 1:
                             //   Return false
   f<2|(                     //  Else-if `f` is 1:
                             //   Return true
    c<2|d<2b<2|g<2?                 //  Else-if either `c``b` or `d``g` is 1:
     l(l(M.pow(b,c)*l(a,f),g),h)
        z>h                     //    Return whether `h`_log(`g`_log((`b``z` tois thelarger powerthan `c`)`h`
             :c<2|d<2?                //  Else-if either `c` *or `f`_log(`a`)))
`d` is 1:
     l(z,h)>t                 //   // Return whether `h`_log(`z`) is larger than `t`
    :                        //  Else:
     y==0?                   //   IfElse-if `y` is 0:
      a>f                    //    Return whether `a` is larger than `f`
     :                        //   Else (`x` and `y` are different):
      y<0);}                  //    Return whether `y` is negative

// Separated method to calculate `A`_log`B`_log(`B``A`) for inputs `A,B`
double l(double...A){return M.log(A[0])/M.log(A[1]);}

#Java 8, 299 288 286 252 210 208 bytes

Math M;(a,b,c,d,e,f,g,h,i,j)->{double t=M.pow(i,j),y=t*l(h,c)+l(l(g,b),c)-M.pow(d,e);return a>1&&f<2|(c<2|d<2?l(l(M.pow(b,c)*l(a,f),g),h)>t:y==0?a>f:y<0);}double l(double...A){return M.log(A[0])/M.log(A[1]);}

Port of @SimplyBeautifulArt's Ruby answer, so make sure to upvote him!
-14 bytes thanks to @SimplyBeautifulArt.

Try it online.

Math M;                      // Math M=null on class-level to save bytes

(a,b,c,d,e,f,g,h,i,j)->{     // Method with ten integer parameters and boolean return-type
  double t=M.pow(i,j),       //  Temp `t` = `i` to the power `j`
    y=t*l(h,c)               //  Temp `y` = `t` * `c`_log(`h`)
      +l(l(g,b),c)           //   + `c`_log(`b`_log(`g`))
      -M.pow(d,e);           //   - `d` to the power `e`
  return a>1&&               //  If `a` is 1:
                             //   Return false
   f<2|(                     //  Else-if `f` is 1:
                             //   Return true
    c<2|d<2?                 //  Else-if either `c` or `d` is 1:
     l(l(M.pow(b,c)*l(a,f),g),h)
                             //    Return whether `h`_log(`g`_log((`b` to the power `c`)
                             //     * `f`_log(`a`)))
       >t                    //    is larger than `t`
    :                        //  Else:
     y==0?                   //   If `y` is 0:
      a>f                    //    Return whether `a` is larger than `f`
     :                       //   Else (`x` and `y` are different)
      y<0);}                 //    Return whether `y` is negative

// Separated method to calculate `A`_log(`B`) for inputs `A,B`
double l(double...A){return M.log(A[0])/M.log(A[1]);}

#Java 8, 299 288 286 252 210 208 224 bytes

Math M;(a,b,c,d,e,f,g,h,i,j)->{double t=M.pow(i,j),y=l(l(g,b),c)-M.pow(d,e)+l(h,c)*t,z=l(l(a,f)*M.pow(b,c),g);return a>1&&f<2|(b<2|g<2?z>h:c<2|d<2?l(z,h)>t:y==0?a>f:y<0);}double l(double...A){return M.log(A[0])/M.log(A[1]);}

Port of @SimplyBeautifulArt's Ruby answer, so make sure to upvote him!
-14 bytes thanks to @SimplyBeautifulArt.
+17 bytes for the same bug-fixes as the Ruby answer.

Try it online.

Math M;                      // Math M=null on class-level to save bytes

(a,b,c,d,e,f,g,h,i,j)->{     // Method with ten integer parameters and boolean return-type
  double t=M.pow(i,j),       //  Temp `t` = `i` to the power `j`
    y=l(l(g,b),c)            //  Temp `y` = `c`_log(`b`_log(`g`))
      -M.pow(d,e)            //  - `d` to the power `e`
      +l(h,c)*t,             //  + `c`_log(`h`) * `t`
    z=l(l(a,f)*M.pow(b,c),g);//  Temp `z` = `g`_log(`f`_log(`a`) * `b` to the power `c`)
  return a>1&&               //  If `a` is 1:
                             //   Return false
   f<2|(                     //  Else-if `f` is 1:
                             //   Return true
    b<2|g<2?                 //  Else-if either `b` or `g` is 1:
     z>h                     //   Return whether `z` is larger than `h`
    :c<2|d<2?                //  Else-if either `c` or `d` is 1:
     l(z,h)>t                //    Return whether `h`_log(`z`) is larger than `t`
    :y==0?                   //   Else-if `y` is 0:
      a>f                    //    Return whether `a` is larger than `f`
    :                        //   Else:
     y<0);}                  //    Return whether `y` is negative

// Separated method to calculate `B`_log(`A`) for inputs `A,B`
double l(double...A){return M.log(A[0])/M.log(A[1]);}
minor explanation fix
Source Link
Kevin Cruijssen
  • 131.4k
  • 13
  • 144
  • 384
Math M;                      // Math M=null on class-level to save bytes

(a,b,c,d,e,f,g,h,i,j)->{     // Method with ten integer parameters and boolean return-type
  double t=M.pow(i,j),       //  Temp `t` = `i` to the power `j`
    y=t*l(h,c)+l(l(g,b),c);               //  Temp `y` = `t` * `c`_log(`h`)
      +l(l(g,b),c)           //   + `c`_log(`b`_log(`g`))
      -M.pow(d,e);           //   - `d` to the power `e`
  return a>1&&               //  If `a` is 1:
                             //   Return false
   f<2|(                     //  Else-if `f` is 1:
                             //   Return true
    c<2|d<2?                 //  Else-if either `c` or `d` is 1:
     l(l(M.pow(b,c)*l(a,f),g),h)
                             //    Return whether `h`_log(`g`_log((`b` to the power `c`)
                             //     * `f`_log(`a`)))
       >t                    //    is larger than `t`
    :                        //  Else:
     y==0?                   //   If `y` is 0:
      a>f                    //    Return whether `a` is larger than `f`
     :                       //   Else (`x` and `y` are different)
      y<0);}                 //    Return whether `y` is negative

// Separated method to calculate `A`_log(`B`) for inputs `A,B`
double l(double...A){return M.log(A[0])/M.log(A[1]);}
Math M;                      // Math M=null on class-level to save bytes

(a,b,c,d,e,f,g,h,i,j)->{     // Method with ten integer parameters and boolean return-type
  double t=M.pow(i,j),       //  Temp `t` = `i` to the power `j`
    y=t*l(h,c)+l(l(g,b),c);  //  Temp `y` = `t` * `c`_log(`h`) + `c`_log(`b`_log(`g`))
  return a>1&&               //  If `a` is 1:
                             //   Return false
   f<2|(                     //  Else-if `f` is 1:
                             //   Return true
    c<2|d<2?                 //  Else-if either `c` or `d` is 1:
     l(l(M.pow(b,c)*l(a,f),g),h)
                             //    Return whether `h`_log(`g`_log((`b` to the power `c`)
                             //     * `f`_log(`a`)))
       >t                    //    is larger than `t`
    :                        //  Else:
     y==0?                   //   If `y` is 0:
      a>f                    //    Return whether `a` is larger than `f`
     :                       //   Else (`x` and `y` are different)
      y<0);}                 //    Return whether `y` is negative

// Separated method to calculate `A`_log(`B`) for inputs `A,B`
double l(double...A){return M.log(A[0])/M.log(A[1]);}
Math M;                      // Math M=null on class-level to save bytes

(a,b,c,d,e,f,g,h,i,j)->{     // Method with ten integer parameters and boolean return-type
  double t=M.pow(i,j),       //  Temp `t` = `i` to the power `j`
    y=t*l(h,c)               //  Temp `y` = `t` * `c`_log(`h`)
      +l(l(g,b),c)           //   + `c`_log(`b`_log(`g`))
      -M.pow(d,e);           //   - `d` to the power `e`
  return a>1&&               //  If `a` is 1:
                             //   Return false
   f<2|(                     //  Else-if `f` is 1:
                             //   Return true
    c<2|d<2?                 //  Else-if either `c` or `d` is 1:
     l(l(M.pow(b,c)*l(a,f),g),h)
                             //    Return whether `h`_log(`g`_log((`b` to the power `c`)
                             //     * `f`_log(`a`)))
       >t                    //    is larger than `t`
    :                        //  Else:
     y==0?                   //   If `y` is 0:
      a>f                    //    Return whether `a` is larger than `f`
     :                       //   Else (`x` and `y` are different)
      y<0);}                 //    Return whether `y` is negative

// Separated method to calculate `A`_log(`B`) for inputs `A,B`
double l(double...A){return M.log(A[0])/M.log(A[1]);}
edited body
Source Link
Kevin Cruijssen
  • 131.4k
  • 13
  • 144
  • 384
Loading
deleted 81 characters in body
Source Link
Kevin Cruijssen
  • 131.4k
  • 13
  • 144
  • 384
Loading
Added and verified some additional test cases
Source Link
Kevin Cruijssen
  • 131.4k
  • 13
  • 144
  • 384
Loading
deleted 511 characters in body
Source Link
Kevin Cruijssen
  • 131.4k
  • 13
  • 144
  • 384
Loading
deleted 61 characters in body
Source Link
Kevin Cruijssen
  • 131.4k
  • 13
  • 144
  • 384
Loading
added 50 characters in body
Source Link
Kevin Cruijssen
  • 131.4k
  • 13
  • 144
  • 384
Loading
added 17 characters in body
Source Link
Kevin Cruijssen
  • 131.4k
  • 13
  • 144
  • 384
Loading
Source Link
Kevin Cruijssen
  • 131.4k
  • 13
  • 144
  • 384
Loading