我是個對電腦科學有興趣的學生,我會貼上我的學習歷程及生活心情,也請大大們多多指教。 :)

2015年5月21日 星期四

[UVa] 10215 - The Largest/Smallest Box ...

題目網址: http://goo.gl/84B3cM

題意:
(from luckycat)


解 法: 盒子的體積是 (L-2*x)*(W-2*x)*x,微分等於零的時候會有極大/小值,然後 x 等於 0,盒子體積也最小。

TAG: Math

注意: 輸出要加上 machine epsilon 喔~

程式碼:

2 則留言:

  1. 從體積對x做圖來看 體積要最大 一定是x小的解 另外想問 為什麼要+EPS?

    回覆刪除
    回覆
    1. 你說的沒錯,所以45行的地方其實不用特地比較體積....

      +EPS的部分
      詳細的細節我無法說明清楚
      但我的認知猜測是
      比較老一點的題目在檢查浮點數比較時 是以 "==" 來進行比較
      而這樣的比較 會出現問題
      比方說 浮點數 0.1 加了10次之後 並不會等於 1.0
      老一點的題目 卻是採用這樣的方式
      所以通常會加個足夠小的數上去....

      你可以嘗試關鍵字 "IEEE 754", "machine epsilon"
      大概會有點概念 ><

      刪除

任何意見都樂意傾聽