Buscar

Considere a função recursiva a seguir: public static void recursao(int N) { if (N == 0) return; recursao(N/2); System.out.print(N%2); } Cas...

Considere a função recursiva a seguir: public static void recursao(int N) { if (N == 0) return; recursao(N/2); System.out.print(N%2); } Caso N seja igual a 8, qual será o resultado apresentado no console (monitor de vídeo)?

💡 1 Resposta

User badge image

Ed Verified user icon

Se N for igual a 8, o resultado apresentado no console será "1000". Explicação: - A função recursiva "recursao" é chamada com o valor de N igual a 8. - Como N não é igual a 0, a função chama a si mesma com o valor de N dividido por 2, ou seja, recursao(4). - Novamente, como 4 não é igual a 0, a função chama a si mesma com o valor de N dividido por 2, ou seja, recursao(2). - Ainda não chegamos ao caso base, então a função chama a si mesma novamente com o valor de N dividido por 2, ou seja, recursao(1). - Agora, N é igual a 1, então a função retorna sem chamar a si mesma novamente. - A última instrução executada é System.out.print(N%2), que imprime o resto da divisão de N por 2, ou seja, 1. - Voltando para a chamada recursao(2), a próxima instrução executada é System.out.print(N%2), que imprime o resto da divisão de N por 2, ou seja, 0. - Continuando com a chamada recursao(4), a próxima instrução executada é System.out.print(N%2), que imprime o resto da divisão de N por 2, ou seja, 0. - Finalmente, na chamada recursao(8), a próxima instrução executada é System.out.print(N%2), que imprime o resto da divisão de N por 2, ou seja, 1. - Portanto, o resultado apresentado no console será "1000".

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