daco2020 2022. 5. 15. 22:16

Task

  • Given three integers a ,b ,c, return the largest number obtained after inserting the following operators and brackets: +, *, ()
  • In other words , try every combination of a,b,c with [*+()] , and return the Maximum Obtained

    Consider an Example :

With the numbers are 1, 2 and 3 , here are some ways of placing signs and brackets:

  • 1 * (2 + 3) = 5
  • 1 * 2 * 3 = 6
  • 1 + 2 * 3 = 7
  • (1 + 2) * 3 = 9

So the maximum value that you can obtain is 9.


Notes

  • The numbers are always positive.
  • The numbers are in the range (1  ≤  a, b, c  ≤  10).
  • You can use the same operation more than once.
  • It's not necessary to place all the signs and brackets.
  • Repetition in numbers may occur .
  • You cannot swap the operands. For instance, in the given example you cannot get expression (1 + 3) * 2 = 8.

Solution:

SELECT GREATEST(((a+b)*c),(a*(b+c)),(a*b*c),(a+b+c))
AS res
FROM expression_matter

The functions to find the maximum and minimum values ​​in parentheses are GREATEST and LEAST, not MAX or MIN.