Назад к задачам
Junior — Senior
9

Интеграция вычисления факториала в метод класса

Компании, где спрашивали:

Merlion
Получайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Условие задачи

В задании требуется превратить существующую функцию, вычисляющую факториал числа, в метод внутри пользовательского класса. При этом логика вычисления должна остаться прежней, а обработка отрицательных аргументов – выбрасывать исключение.

function factorial(int $num): int
{
    if ($num < 0) {
        throw new Exception('num less 0');
    }
    $resultNum = 1;
    for($i = 1; $i <= $num; $i++)
    {
        $resultNum *= $i;
    }
    return $resultNum;
}

try {
    echo factorial(-5);
} catch (Exception $e) {
    echo $e->getMessage();
}

Перенесите эту реализацию в класс, сделав её методом, и продемонстрируйте её работу, корректно обрабатывая возможные ошибки.