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

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))
6
720


Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий