Buscar

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 ...

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.


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

Essa pergunta também está no material:

TÉCNICAS DE PROGRAMAÇÃO_a2
9 pág.

Técnicas de Programação Universidade Anhembi MorumbiUniversidade Anhembi Morumbi

💡 1 Resposta

User badge image

Ed Verified user icon

A alternativa correta é a letra A: int dois_a_n(int n) { if(n == 0) return 1; return 2*dois_a_n(n-1); } Essa é a implementação correta para calcular a expressão 2^n de forma recursiva em linguagem C. A função recebe um inteiro n como parâmetro e retorna o resultado da expressão 2^n. A condição de parada da recursão é quando n é igual a zero, retornando 1. Caso contrário, a função chama a si mesma com o parâmetro n-1 e multiplica o resultado por 2.

0
Dislike0

✏️ Responder

SetasNegritoItálicoSublinhadoTachadoCitaçãoCódigoLista numeradaLista com marcadoresSubscritoSobrescritoDiminuir recuoAumentar recuoCor da fonteCor de fundoAlinhamentoLimparInserir linkImagemFórmula

Para escrever sua resposta aqui, entre ou crie uma conta

User badge image

Outros materiais