codeFlowType:
codeWrite
codeFlowLang:
Python
Напиши программу на 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)
factorial
принимает одно целое неотрицательное число n
.n
равно 0 или 1, возвращаем 1 (факториал 0 и 1 равен 1).fact
для хранения промежуточных значений факториала от 0 до n
.fact[i]
рассчитывается как fact[i-1] * i
.n
.Запустив программу, пользователь сможет ввести число, и программа вычислит факториал с использованием динамического программирования.