【文字列処理メニュー】> 数式の計算 (paizaランク C 相当) [難易度: 1486 ±15]
※リンク先へ移動するためには[paiza]へのログインが必要です。
正しい数式を表す文字列 S が与えられるので、その数式を計算した結果を出力してください。ただし、出てくる計算は足し算・引き算のみとします。
・ 例
・ S = "1+1"
答えは 2 となります。
・ S = "4+3-2+1"
答えは 6 となります。
入力値(例)
123+456+789
出力値(例)
1368
解答例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
<?php $str = trim(fgets(STDIN)); $num = preg_split('/[+\-]/', $str); //print_r($num); $len = mb_strlen($str); $ans = $num[0]; $x = 1; for($i = 0; $i < $len; $i++) { $n = $str[$i]; if($n == "+") { $ans += $num[$x]; $x++; } if($n == "-") { $ans -= $num[$x]; $x++; } } echo $ans; ?> |