đŸ”„ 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