🥇 Funciones Recursivas, Máximo Común Divisor

🍿 ¿Qué es el Máximo Común Divisor?

El máximo común divisor, es el número máximo que divide a otros sin que este deje un residuo.

Por ejemplo para los números 12 y 16.

Los divisores de 12 son 1, 2, 3, 4, 6 y 12.

Los divisores de 16 son 1, 2, 4, 8 y 16.

El Máximo Común Divisor es 4, ya que es el número mas grande que divide a ambos sin dejar residuo.

🍿 ¿Qué es el Algoritmo de Euclides?

El algoritmo de Euclides (Euclid’s Algorithm) es un método que nos permite obtener de manera sencilla y eficiente el Máximo Común Divisor.

🍿 ¿Cuál es el pseudocódigo del Algoritmo de Euclides?

El siguiente es el pseudocódigo del algoritmo de Euclides.

def maximo_comun_divisor(a, b):
    if a == 0
        return b
    return maximo_comun_divisor(b % a, a)

🍿 ¿Cómo implementar el Algoritmo de Euclides en Go?

El Algoritmo de Euclides se implementa de la siguiente forma en Go.

package main

import "fmt"

func MaximoComunDivisor(a int, b int) int {
	if a == 0 {
		return b
	}
	return MaximoComunDivisor(b%a, a)
}

func main() {

	fmt.Println(MaximoComunDivisor(8, 10))
	fmt.Println(MaximoComunDivisor(125, 80))

}

Salida.

2
5