Вот пример рекурсивной функции факториала 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
. Наконец, мы возвращаем вычисленное значение факториала.