public function power($n, $p) { $obj = new Calculator(); if ($n < 0 || $p < 0) { throw new Exception("n and p should be non-negative"); } else { if ($p === 0) { return 1; } } $ans = $obj->power($n, intval($p / 2)); $ans *= $ans; if ($p % 2 === 1) { $ans *= $n; } return $ans; }