【条件分岐メニュー】> 【積の最小化】STEP: 2 足したり引いたり (paizaランク C 相当) [難易度: 1411 ±15]
※リンク先へ移動するためには[paiza]へのログインが必要です。
整数N, A, B ( - 99 ≦ N, A, B ≦ 100 ) があります。以下の 2 つの操作をそれぞれ 1 回ずつおこなったとき、Nを 0 にできる場合はYES
を、できない場合はNO
を出力してください。
1. NにAを足す、またはNからAを引く
2. NにBを足す、またはNからBを引く
入力値(例)
-10 8 2
出力値(例)
YES
解答例
1 2 3 4 5 6 7 8 |
<?php list($n, $a, $b) = explode(" ", trim(fgets(STDIN))); if(($n+$a+$b) == 0 || ($n+$a-$b) == 0 || ($n-$a+$b) == 0 || ($n-$a-$b) == 0) { echo "YES"; } else { echo "NO"; } ?> |
解説
- Nが 0 になる場合は全部で 4 通り考えられます。
- (N + A + B)が 0 になる場合
- (N + A - B)が 0 になる場合
- (N - A + B)が 0 になる場合
- (N - A - B)が 0 になる場合
- これらをすべて試して、どれかが 0 になる場合はYESを出力します。0にならない場合は、elseでNOを出力します。