作者honochung (我是毛毛蟲)
看板travian
標題Re: [請益] 關於±400.±400的問題
時間Wed May 7 01:55:06 2008
※ 引述《phenom (發揮最大的價值)》之銘言:
: ※ 引述《ourYvonne ( 鬼娃娃伊帆 )》之銘言:
: : 特別附註!
: : 咱自從大二考過校內程式認證之後就再也沒有碰過程式了......
: : 所以以上的程式必定是漏洞百出......
: : 希望意思有表達到就行了,各位看看就好
: : 千萬別拿去compile啊...... Orz
: 由於有板友真的拿去跑了~
: 挑點小毛病以供修正程式 請見諒 ^^"
: else if 好像反了 還有第二到第四種情況忘了加平方~
: 其實把 x y 分開看
: x方向距離不會大過400
: y方向距離也不會大過400
: 兩村 (x1,y1) (x2,y2)
: 假設最後用來計算距離的是 x 跟 y
: if (|x1-x2| > 400) x = x1+x2;
: else x = x1-x2;
: if (|y1-y2| > 400) y = y1+y2;
: else y = y1-y2;
: 距離 L = (x^2+y^2)^(0.5);
: 概念上跟 our 大應該是相同的 不過應該比較容易懂~
以例子來說
(400,400)->(400,-400)
|x1-x2|<=400所以x=(+400)-(+400)=0
|y1-y2| >400所以y=(+400)+(-400)=0
L=(0^2+0^2)^0.5
=0
可是(400,400) (400,-400)並不是同一個點
距離不應該為0
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
同樣的(400,400) (400,-400) (-400,-400) (-400,400)
這四點任取兩點計算
答案都是錯誤的....
所以判斷是似乎還是錯的
--
╭─────────────────────────────────────╮
│ 這篇文章讓你覺得? │
│ │
│ = =+ ( ̄▽ ̄) @@ 〒△〒 ψ(._. )> y( ̄︶ ̄)y - -||| (# ̄皿 ̄)│
│ 新奇 溫馨 誇張 難過 實用 高興 無聊 生氣 │
╰─────────────────────────────────────╯
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.117.165.217
1F:推 justdoit96:多加個1就可以了 05/07 02:38
2F:→ honochung:不能只為了單一case就+1 05/07 02:57
3F:→ honochung:這樣0,0->0,1就會錯 05/07 02:57
4F:推 justdoit96:我意思是,判斷完後再+1:if abs(x1-x2)>400 {-x1-x2+1} 05/07 03:24
5F:→ phenom:嗯 我以為+400跟-400是同一個點~ 不同的話就加1就好 05/07 07:40
6F:推 forself:先取絕對值平方再減... 05/07 12:54
7F:→ forself:我回文好了.. 05/07 12:55