Funções recursivas são aquelas que se chamam a si mesmas durante sua execução. Essa técnica é utilizada para resolver problemas que podem ser divididos em subproblemas menores de natureza semelhante. A ideia central da recursão é que uma função resolva um caso base, geralmente o mais simples, diretamente, e chame a si própria para resolver os demais casos, reduzindo progressivamente o problema. Para funcionar corretamente, uma função recursiva precisa de uma condição de parada, ou seja, um critério que determine quando a recursão deve terminar. Sem isso, a função entraria em um ciclo infinito. A recursão é útil em estruturas como árvores e algoritmos de divisão e conquista, mas deve ser usada com cuidado, pois pode consumir muita memória e ser menos eficiente que abordagens iterativas em certos contextos.
Considere a função recursiva f(), a qual foi escrita em linguagem C:

Suponha que a função f() é acionada com os seguintes parâmetros de entrada:
f({2, -4, 7, 0, -1, 4}, 6);
Nesse caso, o valor de retorno da função f() será:
Crie uma conta e ajude outras pessoas compartilhando seu conhecimento!