Informática, perguntado por tiagomk2203, 3 meses atrás

Com a recursividade, os laços de repetição são substituídos pelas chamadas recursivas. Esse tipo de implementação tem os seus estudos aprofundados na área da computação denominada como matemática discreta. Para essa questão, pense em uma solução recursiva, implementada em C, para resolver a expressão 2 n. Dentre as alternativas a seguir, escolha aquela que tiver uma codificação que corresponda à solução. Escolha a opção correta:)
A) int dois_a_n(int n) { if(n == 0) return 1; return 2*dois_a_n(n-1); }
.
B). int dois_a_n(int n) { if(n == 0) return 1; return 2*dois_a_n(n); } .
C). int dois_a_n(int n) { if(n == 0) return 1; return 2*dois_a_n(n+1); } .
D). int dois_a_n(int n) { return 2*dois_a_n(n-1); } .
E). int dois_a_n(int n) { return 2*dois_a_n(n+1); } .

Soluções para a tarefa

Respondido por carolinetmbrito
0

Resposta:

int dois_a_n(int n) { if(n == 0) return 1;  return 2*dois_a_n(n-1); }

Explicação:

Sua resposta foi a correta! Você observou a relação entre a condição de parada e a variação do parâmetro passado. Como a condição de parada é 0, os parâmetros devem ser passados de forma decrescente.

Perguntas interessantes