【Bランクレベルアップメニュー】> FINAL問題【足すか掛けるか】足すか掛けるか (paizaランク C 相当) [難易度: 1206 ±4]
※リンク先へ移動するためには[paiza]へのログインが必要です。
2つの整数の組がn個与えられるので、各組の計算結果を足し合わせたものを出力してください。
各組の計算結果は次の値です。
・2つの整数の組を足し合わせたもの
・ただし、2つの整数が同じ値だった場合は、掛け合わせたもの
入力値(例)
5
2 1
3 6
4 2
4 4
4 70
出力値(例)
108
解答例
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<?php $n = trim(fgets(STDIN)); $ans = 0; for($i = 0; $i < $n; $i++) { list($a, $b) = explode(" ", trim(fgets(STDIN))); if($a == $b) { $ans += ($a * $b); } else { $ans += ($a + $b); } } echo $ans; ?> |
解説
1行目のNがつぎの複数行の数字で、5だったら5行になります。なので、for()文で範囲を$i < $nとし、複数行を受け取ります。
複数行の(a, b)を足してすべての合計を求めますが、(a, b)が同じ値だったら掛けるという条件があるので、先にif()文で定義しておきます。($a * $b)
あとは、順に($a + $b)で計算して、$ansに加えていきます。