Ir ao conteúdo

Calculo de MDC recursivo


chris.ak

Posts recomendados

Postado

Olá pessoal!

Estava desenvolvendo um programa que usa uma função para calcular o MDC, e decidi usar o algoritmo de euclides para facilitar ao invés do tradicional método de fatoração. O programa manipula valores altos, por isso gostaria de saber qual dos códigos abaixo torna-se correto e mais eficiente:

int mdc(int x, int y)
{
if (y==0)
{
return x;
}
else
{
return mdc(y,x % y);
}
}

ou

int mdc(int x, int y){
if (x%y == 0){
return y;
}else{
return mdc(y,x % y);
}
}

um foi eu mesmo que desenvolvi e outro foi uma amiga, pelo teste de mesa rápido ambos deram o mesmo resultado no final... mas no final qual seria o melhor?(PS: um retorna X e o outro retorna Y)

obrigado desde ja.

Postado

chris.ak,

Eu gostei da primeira solução e acho mais adequada, principalmente pela condição de saída da recursão. Se o segundo parâmetro da segunda função for 0 (zero), o programa vai travar por conta de uma operação de divisão por 0.

[]'s

LNW

  • 2 semanas depois...
  • Moderador
Postado

Caso o autor do tópico necessite, o mesmo será reaberto, para isso deverá entrar em contato com a moderação solicitando o desbloqueio.

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!