ABC463A - 16:9
考え方
入力は整数が $2$ つなので、int 型の変数を $2$ つ用意し、cin で入力を受け取る。
さて、横の長さ $X$ と縦の長さ $Y$ の比が $16:9$ であるかどうかを判定したい。
これは、$X:Y=16:9$ であるかどうかを判定すればよい。
しかし、ここでコンピュータの仕様で注意すべきことがある。
割り算を使って判定しようとすると、小数の誤差が発生して誤動作する場合がある。
そこで、分母を払って $9X=16Y$ であるかどうかを判定することで、小数を避けて判定をする。
if文の条件にこの式を書き、出力すべき文字を決定すればよい。
if (9*x==16*y) {
// 9X=16Yであるときの処理(`Yes` と答える)
} else {
// そうでないときの処理(`No` と答える)
}
if文の中で直接 cout してもいいし、事前に出力用文字列を用意してもよい。
入力例1での動作
入力を受け取る。
x: 800
y: 450
$9X$ と $16Y$ を計算する。
9*x: 7200
16*y: 7200
同じ数だったので、Yes を出力する。
注意点
特になし。
別解
特になし。