def factorial_recursive(num):
    """
    Calculates factorial of a given number
    Uses Recursive approach
    :param num: the number to calculate the factorial
    :return: the factorial result
    """
    if num == 0:
        return 1

    return num * factorial_recursive(num - 1)