Logo Passei Direto
Buscar
O máximo divisor comum (MDC) de dois números inteiros x e y é definido da seguinte forma:

Se x é maior que y, MDC(x,y) = MDC(x-y, y);
Se x é igual y, MDC(x,y) = x;
Se x é menor que y, MDC(x,y) = MDC(y,x).
Utilizando as definições acima, implemente um programa recursivo que recebe dois números inteiros x e y (separados por um espaço), calcula e imprime o MDC de x e y.
User badge image
Augusto Marques

há 2 anos

Respostas

User badge image

Ed Verified user icon

há 2 anos

Segue abaixo um exemplo de implementação em Python de um programa recursivo que calcula o MDC de dois números inteiros x e y, utilizando as definições dadas: ``` def mdc(x, y): if x > y: return mdc(x-y, y) elif x < y: return mdc(y, x) else: return x x, y = map(int, input().split()) print(mdc(x, y)) ``` Neste exemplo, a função `mdc` é definida de forma recursiva, seguindo as definições dadas na pergunta. A função recebe dois parâmetros `x` e `y`, que representam os números inteiros a serem calculados o MDC. Na primeira condição, se `x` for maior que `y`, a função chama a si mesma com os parâmetros `x-y` e `y`. Na segunda condição, se `x` for menor que `y`, a função chama a si mesma com os parâmetros `y` e `x`. Na terceira condição, se `x` for igual a `y`, a função retorna `x`. Por fim, o programa lê dois números inteiros `x` e `y` separados por um espaço, chama a função `mdc` com esses parâmetros e imprime o resultado.

Essa resposta te ajudou?

0
Dislike0
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar essa resposta. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Ainda com dúvidas?

Envie uma pergunta e tenha sua dúvida de estudo respondida!

Mais perguntas desse material

A função abaixo resolve o problema do Fatorial utilizando a recursividade.
Escolha a alternativa que apresenta uma afirmativa correta.
a. A chamada n * f( n-1 ) é a condição de saída da recursividade.
b. A condição n==1 representa uma chamada recursiva.
c. O algoritmo resolve o problema sem utilizar a recursividade corretamente.
d. A condição n==1 representa a condição de saída da recursividade.
e. O problema do fatorial só pode ser resolvido com recursividade.

Um programa pode fazer chamadas recursivas de duas maneiras: direta ou indireta. Escolha uma opção: Verdadeiro Falso

Muitos problemas têm uma formulação simples que pode ser traduzida diretamente para o código recursivo.
Escolha uma opção:
Verdadeiro
Falso

A recursividade indireta é produzida quando um programa ativa outro, que terminará ativando novamente o primeiro.
Escolha uma opção:
Verdadeiro
Falso

Em geral, os algoritmos recursivos realizam chamadas para si próprio e passam por parâmetro uma nova entrada, que geralmente é maior que a entrada anterior.
Escolha uma opção:
Verdadeiro
Falso

O código abaixo tenta resolver o problema de Fibonacci.
Em relação a essa solução, escolha a alternativa correta.
a. O algoritmo resolverá o problema corretamente para qualquer valor de n.
b. As chamadas recursivas não levarão a cálculos redundantes.
c. Essa solução não é recursiva.
d. Essa solução não apresenta uma condição de saída.
e. O algoritmo resolverá o problema corretamente para qualquer valor de n que seja maior ou igual a zero.

Mais conteúdos dessa disciplina