Факториал. Рекурсия

Напишите функцию, которая рекурсивно вычисляет значение факториала переданного числа.

def factorial(a):
    """Функция принимает натуральное число и 
    возвращает его факториал. 
    Факториал вычисляется с помощью 
    рекурсивного вызова самой функции."""

    # факториал единицы равен единице
    if a == 1:
        return a

    # Пример потока выполнения, если a = 3.
    # 1) 3 * factorial(2)
    # 2) 2 * factorial(1)
    # 3) return 1
    # 2) return 2 * 1
    # 1) return 3 * 2
    return a * factorial(a-1)


n = int(input())
print(factorial(n))




Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: