Você está aqui: Java ::: Desafios e Lista de Exercícios Resolvidos ::: Recursão (Recursividade) |
Um método recursivo que calcula o MDC (máximo divisor comum) entre dois números inteiros - Desafio de Programação Resolvido em JavaQuantidade de visualizações: 8811 vezes |
Exercício Resolvido de Java - Um método recursivo que calcula o MDC (máximo divisor comum) entre dois números inteiros Pergunta/Tarefa: O máximo divisor comum ou MDC (mdc) entre dois ou mais números inteiros é o maior número inteiro que é fator de tais números. Por exemplo, os divisores comuns de 12 e 18 são 1, 2, 3 e 6, logo mdc(12, 18) = 6. A definição abrange qualquer número de termos, por exemplo mdc(10, 15, 25, 30) = 5. O cálculo do MDC entre x e y pode ser feito recursivamente da seguinte forma: Se y for igual a 0, então mdc(x, y) = x. Caso contrário, mdc(x, y) = mdc(y, x % y), no qual % é o operador de módulo (restante da divisão inteira). Escreva um método recursivo que receba dois inteiros e calcule o mdc. Seu método deverá possuir a seguinte assinatura: public static int mdc(int x, int y){ // sua implementação aqui } Informe o primeiro inteiro: 12 Informe o segundo inteiro: 18 O MDC dos valores 12 e 18 é 6 Veja a resolução comentada deste exercício usando Java console: ---------------------------------------------------------------------- Precisa de ajuda? Chama no WhatsApp +55 (62) 98553-6711 (Osmar) Este código foi útil? Paga um cafezinho pra mim :-( PIX: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- package exercicio; import java.util.Scanner; public class Exercicio { public static void main(String[] args) { // cria um novo objeto da classe Scanner Scanner entrada = new Scanner(System.in); // vamos solicitar dois valores inteiros System.out.print("Informe o primeiro inteiro: "); // lê o primeiro inteiro int a = Integer.parseInt(entrada.nextLine()); // solicita o segundo inteiro System.out.print("Informe o segundo inteiro: "); // lê o segundo inteiro int b = Integer.parseInt(entrada.nextLine()); // mostra o resultado System.out.print("O MDC dos valores " + a + " e " + b + " é " + mdc(a, b)); System.out.println("\n"); } // método recursivo que calcula o mdc de dois inteiros public static int mdc(int x, int y){ // a recursividade é interrompida quando y for igual a 0 if(y == 0){ return x; } else{ return mdc(y, x % y); // efetua uma nova chamada recursiva } } } |
![]() |
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
JavaScript - Como remover elementos duplicados de um array em JavaScript usando as funções filter() e indexOf() do objeto Array |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |