看板 C_and_CPP 關於我們 聯絡資訊
問題應該是出在你 23 24 行用了整數除法 也就是你的 ceil 和 floor 完全沒有作用 整數除法在正數除以正數時是固定取 floor 負數除以正數時則是固定取 ceiling (先說這應該不是標準定的, 只是常見平台都是這樣) 也就是說你這兩行整數除法除出來的結果已經自動做了 floor 或 ceiling 中的某一個 於是再掛 ceil() 或 floor() 都是沒有用的 要達成你要的方式請轉型成 double 再做除法 也就是改成這樣: t1 = (long long)ceil((double)(-n)*x/n2); t2 = (long long)floor((double)(n)*y/n1); -- ˊ_▂▃▄▂_ˋ. ◣          ▅▅ ▅▅ ι●╮   ./◤_▂▃▄▂_◥ \'▊   HARUHI █████ <■┘   ◤◤◥█◥◥█Δ   ISM    By-gamejye ¢|\   ▌▌ζ(▏●‵◥′●)Ψ ▏           █    ⊿Δ    /|▋ |\ ▎         ハルヒ主義      ▄█ ◥◥|◣ ‵′ ◢/'◢◢S.O.S 世界をいに盛り上げるための宮ハルヒの    -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.28.91 ※ 編輯: LPH66 來自: 140.112.28.91 (06/02 19:32)
cobrasgo:我從來沒注意過這個問題@@ 06/02 21:22
Biboy:真的是這樣!! 太感謝了!! 以前都沒注意過這個.... 06/02 22:05
Biboy:改成double後答案就對了! 又多學一項了! 謝謝你!! 06/02 22:05