tasks a-s
This commit is contained in:
parent
47bf37c096
commit
b83f433714
12433 changed files with 156208 additions and 123 deletions
|
|
@ -0,0 +1,24 @@
|
|||
<?php
|
||||
// RPN Calculator
|
||||
//
|
||||
// Nigel Galloway - April 3rd., 2012
|
||||
//
|
||||
$WSb = '(?:^|\s+)';
|
||||
$WSa = '(?:\s+|$)';
|
||||
$num = '([+-]?(?:\.\d+|\d+(?:\.\d*)?))';
|
||||
$op = '([-+*\/^])';
|
||||
|
||||
function myE($m) {
|
||||
return $m[3] == '^' ? ' ' . pow($m[1], $m[2]) . ' ' : ' ' . eval("return " . $m[1] . $m[3] . $m[2] . ";") . ' ';
|
||||
}
|
||||
|
||||
while (!feof(STDIN)) {
|
||||
$s = trim(fgets(STDIN));
|
||||
if ($s == '')
|
||||
continue;
|
||||
do {
|
||||
$s = preg_replace_callback("/$WSb$num\\s+$num\\s+$op$WSa/", "myE", $s, -1, $n);
|
||||
} while ($n);
|
||||
echo floatval($s) . "\n";
|
||||
}
|
||||
?>
|
||||
Loading…
Add table
Add a link
Reference in a new issue