看板 Soft_Job 關於我們 聯絡資訊
※ 引述《suzuCpgm (摸摸)》之銘言: : 是的,沒錯... : 今天去了板上滿有名的一間台中公司面試 : 之前也有爬文該公司所出的題目類型 : 果不其然(有點小改變而已) : 1、輸入float,輸出int,無條件進位 : 2、輸入三邊長,判斷三角形 : 筆試結果是被"後會有期" ˊˋ : 這邊主要是想請益第二題的部份 : 這是我當時寫的程式碼 : http://ideone.com/Kn8krt : google了一下,感覺排序像是多餘的 : 當時想排序主要是想把最長的那邊找出來 : 然後任兩邊的和要大於第三邊,就只要去比最長的那邊即可 : 所以想請教一下這題的觀念 : 因為有看到其他人交的卷幾乎都短短幾行而已 囧 : btw,這問題若不能po在此板,再煩請告知,謝謝>"< 幾個數學式子就能判斷 (<=>:if and only if符號) 假設輸入三邊長為a,b,c 1. 是三角形 <=> (a+b-c)(a+c-b)(b+c-a)>0 and (a+b-c)(a+c-b)>0 2. 是正三角形 <=> (a-b)^2+(b-c)^2+(c-a)^2=0 3. 等腰三角 <=> 不是正三角 and (a-b)(b-c)(c-a)=0 4. 假設用1.判斷是三角形,令K=(a^2+b^2-c^2)(a^2+c^2-b^2)(b^2+c^2-a^2) 4.1 直角三角形 <=> K=0 (只會一個為0) 4.2 銳角三角形 <=> K>0 (兩負一正或三正 不可能兩負) 4.3 鈍角三角形 <=> K<0 (一負兩正或三負 不可能三負) 程式按照這樣的順序去判斷就好 有誤請糾正 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.195.5.93
musie:return a+b > c ? a-b < c ? true : false : false; 12/18 22:21
jack0204:歐歐 我連三角形怎麼判斷都忘了 12/18 23:44
zeroroger:這個太專業了,根本寫成證明題了= = 12/19 00:04
k6416337:感謝誇獎 只是複習一下自己的數學能力而已= = 12/19 00:15
andymai:當年也是這樣寫~不過1後面的and條件有必要嗎?前面都乘起來 12/19 05:11
andymai:了~2的話~三邊一樣長就是了啊~3.等腰我會在正三角形前判斷 12/19 05:15
andymai:abc兩兩一組是否有相等~有再判斷另一邊來決定是等腰或正 12/19 05:20
andymai:無的話~就是4.的套公式囉... 12/19 05:21
andymai:感覺他考這個也是在考是否會把問題複雜化~忘記公式就GG了 12/19 05:23
k6416337:1需要and 不然無法判斷是等腰還是正三 12/19 08:43
k6416337:說錯xd 1的第一個是可能為負負正 12/19 08:46
k6416337:我是以輸入三個任意實數為前提的 12/19 08:48
k6416337:要用三遍一樣長必須用and 比直接一個等式還煩 當然這看人 12/19 08:50
k6416337:andy說的3理由同上我的推文 12/19 08:52
k6416337:反正我是盡量能用一個等式就用等式表達 12/19 08:53
k6416337:這樣還能現一下自己的數學能力www 12/19 08:55
BlazarArc:a:-10 b:1 c:2 ? 1 的 and 右邊有濾掉負負正嗎? 12/19 15:08
BlazarArc:上面舉例不好 我錯了 再想一下 XD 12/19 15:10
bobju:若事先沒準備,臨場10分鐘想不出來吧? 12/19 16:25
k6416337:當然 因為會緊張 12/20 01:23
andymai:所以我沒有乘來乘去的~直接用了一堆if...XD 12/20 06:55