Como implementar recursão em C++?
Olá a todos! Sou novo em C++ e estou tentando entender recursão. Escrevi uma função simples para calcular fatorial, mas ela não funciona corretamente. Aqui está o código:
```cpp
#include
using namespace std;
int factorial(int n) {
if (n == 0) {
return 1;
} else {
return n * factorial(n - 1);
}
}
int main() {
int num = 5;
cout << "Fatorial " << num << " = " << factorial(num) << endl;
return 0;
}
```
Espero obter 120 para o número 5, mas às vezes o programa trava ou retorna valores estranhos. Tentei adicionar uma verificação para números negativos, mas não ajudou. Também li sobre stack overflow, mas não tenho certeza de como evitá-lo. Talvez o problema seja que não estou usando o caso base corretamente? Ou preciso fazer algo com o tipo de retorno? Quero entender como organizar a recursão corretamente para que funcione de forma estável para números grandes (por exemplo, para 20). Ficarei grato por uma explicação dos princípios básicos e possíveis
No answers yet.
Faça login para deixar uma resposta
Blogs
C# vs Python para backend: comparação e escolha em 2024
10 melhores frameworks Java para desenvolvimento web: nível avançado
Como escrever uma API REST em PHP em 30 minutos: guia passo a passo para iniciantes
lateinit em Kotlin: como verificar se uma variável foi inicializada