Алгоритмы на Python

Рекурсивный факториал в Python

Формула n! = n × (n−1)! завершается базовым случаем 0 или 1.

Что такое Рекурсивный факториал в Python?

Формула n! = n × (n−1)! завершается базовым случаем 0 или 1.

Вычислите n! рекурсивной функцией.

Когда это использовать?

  • Понимать алгоритмы и структуры данных.
  • Наблюдать каждый шаг и проверять граничные случаи.
  • Сравнивать время работы и память.

Пример кода

Запустить код →
main.py
def factorial(number):
    if number < 0:
        raise ValueError("Factorial is undefined for negative numbers")
    if number <= 1:
        return 1
    return number * factorial(number - 1)

print(factorial(6))

Ожидаемый результат

720

Как это работает

Каждый вызов уменьшает n; время и глубина стека O(n).

Измените значения и запустите программу в онлайн-компиляторе Python CodeUtility без локальной установки Python.

Практические задания

Изменяйте входные данные и проверяйте граничные случаи перед работой с большими наборами.

  1. Проверьте пустой ввод, один элемент и дубликаты.
  2. Выводите состояние после каждого шага.
  3. Сравните производительность с другим решением.
Запустить в Python IDE →