Рекурсивные и итеративные факториалы Excel VBA с примерами кода

Вот пример рекурсивной функции факториала Excel VBA:

Function RecursiveFactorial(n As Long) As Long
    If n = 0 Then
        RecursiveFactorial = 1
    Else
        RecursiveFactorial = n * RecursiveFactorial(n - 1)
    End If
End Function

Эта функция вычисляет факториал заданного числа nс помощью рекурсии. Если nравен 0, функция возвращает 1 (поскольку факториал 0 определяется как 1). В противном случае он рекурсивно вызывает себя с n - 1в качестве аргумента и умножает результат на n.

В качестве альтернативы вы можете использовать итеративный подход для вычисления факториала без рекурсии. Вот пример:

Function IterativeFactorial(n As Long) As Long
    Dim result As Long
    result = 1

    If n >= 0 Then
        For i = 1 To n
            result = result * i
        Next i
    End If

    IterativeFactorial = result
End Function

В этом итеративном подходе мы инициализируем переменную resultзначением 1. Затем мы используем цикл для умножения resultна каждое число от 1 до n. Наконец, мы возвращаем вычисленное значение факториала.