問題1
解き方
方針
与えられた三辺から三角形が存在するか確認する。
三角形の存在条件は、a + b > c, かつ b + c > a, かつ c + a > b
辺aが最大の辺の長さのとき、直角三角形、鋭角三角形、鈍角三角形の成立条件は以下の通りです。
- 直角三角形 - a² = b² + c²
- 鋭角三角形 - a² < b² + c²
- 鈍角三角形 - a² > b² + c²
コードの説明
以下ソースコードの説明。
三辺が与えられたらソートし辺aが最大となるように割り当てる。
そして、triangle()
に三辺を渡し三角形が存在するかどうか調べ、存在するならどのタイプの三角形か調べる。
三角形が存在しないときはそれ以降の入力を無視するので、存在しないときはエラーを起こすようにしている。
リストであるansの長さは3で直角、鋭角、鈍角の順でカウントされる。
ソースコード(python)
関連リンク
Volume5まとめ -> Volume5