三角形辨別 (APCS 2016-10 初級)
1.0s 256M三角形除了是最基本的多邊形外,亦可進一步細分為鈍角三形、直角三角形及銳角三角形。若給定三個線段的長度,透過下列公式運算,即可得知此三線段能否構成三角形,亦可判斷是直角、銳角和鈍角三角形。
提示:若 \(a\)、\(b\)、\(c\) 為三個線段的邊長,且 \(c\) 為最大值,則
若 \(a+b \le c\) ,三線段無法構成三角形
若 \(a \times a+b \times b < c \times c\) ,三線段構成鈍角三角形 (Obtuse triangle)
若 \(a \times a+b \times b = c \times c\) ,三線段構成直角三角形 (Right triangle)
若 \(a \times a+b \times b > c \times c\) ,三線段構成銳角三角形 (Acute triangle)
請設計程式以讀入三個線段的長度判斷並輸出此三線段可否構成三角形?若可,判斷並輸出其所屬三角形類型。
輸入格式
輸入僅一行包含三正整數,三正整數皆小於 30,001,兩數之間有一空白。
輸出格式
輸出共有兩行,第一行由小而大印出此三正整數,兩字之間以一個空白格間格,最後一個數字後不應有空白;第二行輸出三角形的類型:
若無法構成三角形時輸出「No」;
若構成鈍角三形時輸出「Obtuse」;
若直角三形時輸出「Right」;
若銳角三形時輸出「Acute」。
範例輸入 1
3 4 5
範例輸出 1
3 4 5
Right
(範例一說明) \(a \times a + b \times b = c \times c\) 成立時為直角三形。
範例輸入 2
101 100 99
範例輸出 2
99 100 101
Acute
(範例二說明)邊長排序由小到大輸出, \(a \times a + b \times b > c \times c\) 成立時為銳角三形。
範例輸入 3
10 10 100
範例輸出 3
10 10 100
No
(範例三說明)由於無法構成三角形,因此第二行須印出「No」。
評分說明
輸入包含若干筆測試資料,每一筆測試資料的執行時間限制 (time limit) 均為 1 秒,依正確通過測資筆數給分
題目來源
APCS 2016 年 10 月實作題第 1 題。
題敘依官方歷屆試題整理;ZeroJudge c294「三角形辨別」 亦收錄本題。
登入後即可撰寫程式並提交評測。
登入