2013-02-18 11 views
5

Rozwiązałem problem, ale zastanawiam się, czy istnieje szybszy sposób.Znajdowanie środkowej liczby trzech liczb losowych za pomocą tylko funkcji max i min w JAVA

Zakładając, że a, b, c są losowo generowanymi liczbami, czy istnieje sposób na znalezienie środkowej liczby tylko za pomocą funkcji Math.max i Math.min?

med = Math.max(Math.max(Math.min(a,b),Math.min(b,c)),(Math.max(Math.min(b,c),Math.min(a,c)))); 

Wielkie dzięki, każda reakcja byłaby bardzo doceniona!

+0

Wygląda na to, że - aby było bardziej zrozumiałe, można przenosić równoważne części w oddzielnych zmiennych (np. Math.min (b, c))! – Raman

+1

Dlaczego spadki? –

+0

@timonik - Wielkie dzięki! : D – IKillR

Odpowiedz

3

co z następującym?

min(min(max(a,b), max(b,c)), max(a,c)) 
+0

Czy to działa na a = 2 b = 3 c = 1? – Raman

+0

Wielkie dzięki za wejście! Zdałem sobie sprawę, że to nie działa, gdy b jest środkową liczbą. Zakładając, że jest największy, a c jest najmniejszy. min (maks. (A, b), min (b, c), maks. (A, c)) dałoby c. – IKillR

+0

@timonik. Teraz będzie działać. –

Powiązane problemy