A = AB - B * -> A = B(A - 1) * -> B = A / (A - 1) * A,Bは非負整数なので、A / (A - 1) が正の整数になるのは A = 2 のときのみ。 * A = 2 のとき、B = 2 * * A + B > A * B と仮定したとき * A = 0 とすると、条件から B > 0 となり、Bが1以上のとき常に成り立つ。B = 0 のときも同様。 * A = 1 とすると、条件から 1 + B > B となり、これは常に成り立つ。B = 1 のときも同様。 * A >= 2 のとき * -> A > AB - B * -> A > B(A - 1) * -> 1 > B(A - 1) / A * これを満たす、 A (>=2), B (>2) のペアは存在しない。 */ $a = check($a); $b = check($b); if (($a == 0) && ($b == 0)) { echo "E".PHP_EOL; } else if (($a == 2) && ($b == 2)) { echo "E".PHP_EOL; } else if (($a * $b) == 0) { echo "S".PHP_EOL; } else if (($a == 1) || ($b == 1)) { echo "S".PHP_EOL; } else { echo "P".PHP_EOL; } function check($i) { if (strlen($i) > 2) { // 2桁以上の場合はどれでも同じなので、計算可能な数値に置き換え return (int) 10; } else { // 1桁の数値はそのまま返す return (int) $i; } }