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

Вычисление чистой прибыли с учётом комиссий агентов и их подчинённых

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

Необходимо реализовать метод getProfit(), который рассчитывает чистую прибыль компании после распределения процентов (комиссий) всем участникам цепочки агентов, включая их под‑агентов.

class Agent {
    public $childAgent; // ссылка на под‑агента
    public $commission; // процент комиссии агента
}

class Policy {
    public $policyPrice; // стоимость полиса
    public function getProfit(Agent $rootAgent) {
        // реализация расчёта прибыли
    }
}

Метод должен рекурсивно проходить по всем уровням вложенных агентов, вычитать из цены полиса их комиссии и вернуть оставшуюся часть как прибыль компании.