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

Компиляционное вычисление факториала

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

Перепишите рекурсивную constexpr‑функцию, отвечающую за вычисление факториала, так, чтобы её результат был получен уже на этапе компиляции, независимо от того, насколько запутан вызов функции.

constexpr int computeFactorial(unsigned n) {
    return n == 0 ? 1 : n * computeFactorial(n - 1);
}

constexpr int result = computeFactorial(5);
static_assert(result == 120); // проверка во время компиляции