三角形が_equilateral_、isosceles、_scalene_のどれであるかを判定します。
_equilateral_な三角形は、3辺の長さがすべて同じです。
_isosceles_な三角形は、少なくとも2辺の長さが同じです。(正確に2辺の長さが同じと定義されることもありますが、この演習では少なくとも2辺とします。)
_scalene_な三角形は、すべての辺の長さが異なります。
三角形として成り立つためには、すべての辺の長さが0より大きい必要があり、さらに任意の2辺の長さの和が、残りの1辺の長さ以上でなければなりません。
_退化三角形_は、2辺の長さの和が3辺目の長さと等しい三角形です。たとえば1, 1, 2です。
この演習では、退化三角形のテストを含めないことにしました。
そうしたケースに対応してもかまいませんし、そのまま無視しても問題ありません。
式で表すと、次のようになります。
a、b、cを三角形の辺とします。
このとき、次の3つの式がすべて成り立つ必要があります。
a + b ≥ c
b + c ≥ a
a + c ≥ b
三角不等式を参照してください。
| レジスタ | 用途 | 型 | 説明 |
|---|---|---|---|
$a0 |
入力 | 整数 | 辺a |
$a1 |
入力 | 整数 | 辺b |
$a2 |
入力 | 整数 | 辺c |
$v0 |
出力 | 整数 | 三角形の種類(0=不等辺三角形、1=二等辺三角形、2=正三角形、3=無効) |
$t0-9 |
一時 | 任意 | 一時的な保存用 |