Re: [請益] 輸入三邊長,判斷三角形...(C++)

看板Soft_Job (軟體人)作者 (愛花我的嫁)時間12年前 (2013/12/18 21:50), 編輯推噓5(5016)
留言21則, 7人參與, 最新討論串4/5 (看更多)
※ 引述《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

12/18 22:21, , 1F
return a+b > c ? a-b < c ? true : false : false;
12/18 22:21, 1F

12/18 23:44, , 2F
歐歐 我連三角形怎麼判斷都忘了
12/18 23:44, 2F

12/19 00:04, , 3F
這個太專業了,根本寫成證明題了= =
12/19 00:04, 3F

12/19 00:15, , 4F
感謝誇獎 只是複習一下自己的數學能力而已= =
12/19 00:15, 4F

12/19 05:11, , 5F
當年也是這樣寫~不過1後面的and條件有必要嗎?前面都乘起來
12/19 05:11, 5F

12/19 05:15, , 6F
了~2的話~三邊一樣長就是了啊~3.等腰我會在正三角形前判斷
12/19 05:15, 6F

12/19 05:20, , 7F
abc兩兩一組是否有相等~有再判斷另一邊來決定是等腰或正
12/19 05:20, 7F

12/19 05:21, , 8F
無的話~就是4.的套公式囉...
12/19 05:21, 8F

12/19 05:23, , 9F
感覺他考這個也是在考是否會把問題複雜化~忘記公式就GG了
12/19 05:23, 9F

12/19 08:43, , 10F
1需要and 不然無法判斷是等腰還是正三
12/19 08:43, 10F

12/19 08:46, , 11F
說錯xd 1的第一個是可能為負負正
12/19 08:46, 11F

12/19 08:48, , 12F
我是以輸入三個任意實數為前提的
12/19 08:48, 12F

12/19 08:50, , 13F
要用三遍一樣長必須用and 比直接一個等式還煩 當然這看人
12/19 08:50, 13F

12/19 08:52, , 14F
andy說的3理由同上我的推文
12/19 08:52, 14F

12/19 08:53, , 15F
反正我是盡量能用一個等式就用等式表達
12/19 08:53, 15F

12/19 08:55, , 16F
這樣還能現一下自己的數學能力www
12/19 08:55, 16F

12/19 15:08, , 17F
a:-10 b:1 c:2 ? 1 的 and 右邊有濾掉負負正嗎?
12/19 15:08, 17F

12/19 15:10, , 18F
上面舉例不好 我錯了 再想一下 XD
12/19 15:10, 18F

12/19 16:25, , 19F
若事先沒準備,臨場10分鐘想不出來吧?
12/19 16:25, 19F

12/20 01:23, , 20F
當然 因為會緊張
12/20 01:23, 20F

12/20 06:55, , 21F
所以我沒有乘來乘去的~直接用了一堆if...XD
12/20 06:55, 21F
文章代碼(AID): #1IiQWBgX (Soft_Job)
文章代碼(AID): #1IiQWBgX (Soft_Job)