001 - ビルの高さ
時間制限 1 秒 / メモリ制限 64 MB / 得点 10 / x 10 /
問題
ある日、ei1711君はビルを見つけました。
しかし、直接高さを測ることは出来ないのでビルを見上げたときの角度とビルまでの距離を使って、ビルの高さを求めることにしました。
ただし、彼は頭が非常に悪く高さを求めることが出来なかったので
高さを求めるプログラムを作るようにあなたに依頼しました。
彼のためにプログラムを完成させよう!!
入力
入力は以下のように与えられる。
r ang
ビルのある場所からei1711君のいる場所までの距離 r
ei1711君のいる場所からビルの頂点を見上げた角度 angが与えられる。
出力
ビルの高さ height を一行で出力する。
また、出力後に改行をする。
制約
全ての入出力ケースにおいて以下を満たす。
- 1 ≦ r ≦ 300
- 1 ≦ ang ≦ 60
また、いずれも整数で入力される。
入出力例
Input 1
30 60
Output 1
51.961524
解説
ei1711君がいる場所を P とする。
与えられた情報として、PB間の距離 r = 30m、見上げたときの角度 ∠APB = 60°がある。
これらの情報が与えられるので、三角比を使うことで高さを求めることができる。
PB = 30m、∠APB = 60°すでにわかっているのでビルの高さである AB を x とおき、 tan∠APB について考えてみると、
という式が成り立つ。
式変形をして、 30 × tan60° = 51.961524m となる。
Input 2
20 40
Output 2
16.781993
ヒントっぽいこと
#include <math.h> で使えるtan()の引数はラジアンなので、度数法で入力されるこの問題は、ラジアンに変換する必要がある。変換方法は…