Напиши программу на Python вычисления факториала

Напиши программу на Python вычисления факториала числа n используя динамический подход
Дополнительные параметры: codeFlowType: codeWrite codeFlowLang: Python
Создано: 05.03.2025 15:01

Напиши программу на Python вычисления факториала числа n используя динамический подход

Конечно! Вот пример программы на Python, которая вычисляет факториал числа n с использованием динамического подхода:

def factorial(n):
    if n < 0:
        raise ValueError("Факториал не определен для отрицательных чисел")
    elif n == 0 or n == 1:
        return 1

    # Инициализация массива для хранения промежуточных результатов
    fact = [0] * (n + 1)
    fact[0] = 1
    fact[1] = 1

    for i in range(2, n + 1):
        fact[i] = fact[i - 1] * i

    return fact[n]

# Пример использования
try:
    n = int(input("Введите неотрицательное целое число для вычисления факториала: "))
    result = factorial(n)
    print(f"Факториал числа {n} равен {result}")
except ValueError as e:
    print(e)

Описание работы программы:

  1. Функция factorial принимает одно целое неотрицательное число n.
  2. Внутри функции проверяем, является ли число отрицательным, и если это так, выбрасываем исключение.
  3. Если n равно 0 или 1, возвращаем 1 (факториал 0 и 1 равен 1).
  4. Создаём массив fact для хранения промежуточных значений факториала от 0 до n.
  5. Используем цикл для заполнения массива, где fact[i] рассчитывается как fact[i-1] * i.
  6. В конце возвращаем факториал числа n.

Запустив программу, пользователь сможет ввести число, и программа вычислит факториал с использованием динамического программирования.