1. Implementação recursiva comum De acordo com a fórmula recursiva geral fact(n) = n * fact(n-1), é fácil escrever o código de cálculo fatorial.
A vantagem da implementação recursiva comum é que o código é relativamente conciso e o mesmo processo da fórmula geral torna o código fácil de entender. A desvantagem é que, como ele precisa chamar a si mesmo com frequência, é necessário um grande número de operações push e pop e a eficiência geral da computação não é alta.
função fato(int $n): int { se ($n == 0) { retornar 1; } retornar $n * fato($n - 1); }
2. A implementação de loop comum tem algum sabor de programação dinâmica, mas devido à baixa frequência de uso de variáveis de estado intermediário, nenhum espaço de armazenamento adicional é necessário.
Portanto, é mais simples que o algoritmo de programação dinâmica geral. O método recursivo comum é um processo de cálculo de cima para baixo (de n a 1), enquanto o loop comum é um cálculo de baixo para cima.
função fato(int $n): int { $resultado = 1; $num = 1; enquanto ($num <= $n) { $resultado = $resultado * $num; $num = $num + 1; } retornar $resultado; }
O texto acima é o método de implementação de n fatorial em php. Espero que seja útil para todos.