問題
https://onlinejudge.u-aizu.ac.jp/courses/lesson/2/ITP1/10/ITP1_10_B (新しいタブで開く)
問題文
三角形の 2 辺 とその間の角 から、三角形の面積 と周の長さ 、 を底辺としたときの高さ を求めてね。
制約
- 絶対誤差は 以下なら許容される
- は度数法
サンプル
I/O 1
4 3 90
6.00000000 12.00000000 3.00000000
考察
まずは、角度を弧度法に直しておく。
でできる。
三角形の面積は で求められる。
辺 は、余弦定理から で求められるので、 とすれば OK。
図を描くと、 で求められることがわかる。
あとは実装するだけ。
コード
int main() { int a, b, _c; cin >> a >> b >> _c; const double Pi = acos(-1); double c = _c * Pi / 180; cout << fixed << setprecision(10); cout << a * b * sin(c) / 2 << endl; cout << a + b + sqrt(a * a + b * b - 2 * a * b * cos(c)) << endl; cout << b * sin(c) << endl; return 0; }