2013-02-18 32 views
5

我已經解決了這個問題,但是我想知道是否有更快的方法。在JAVA中只使用最大和最小函數查找三個隨機數的中間數

假設a,b,c是隨機生成的數字,有沒有辦法通過僅使用Math.max和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)))); 

非常感謝,任何反應將不勝感激!

+0

看起來你得到它 - 這樣可以很清楚,你可以在不同的變量移動相當的部分(例如Math.min(B,C))! – Raman 2013-02-18 16:40:20

+1

爲什麼downvotes? – 2013-02-18 16:41:30

+0

@timonik - 非常感謝! :D – IKillR 2013-02-18 16:42:51

回答

3

以下情況如何?

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

它對a = 2 b = 3 c = 1有效嗎? – Raman 2013-02-18 16:43:30

+0

非常感謝您的意見! 當b是中間數字時,我意識到它不起作用。 假設a最大,c最小。 (最大(a,b),最小(b,c),最大(a,c))將給出c。 – IKillR 2013-02-18 16:45:54

+0

@timonik。現在它會工作。 – 2013-02-18 16:47:16

相關問題