2025-05-17 11:36:26 -04:00

32 lines
563 B
Go

package algoritmo
import "strconv"
// Calcula el dígito verificador usando Módulo 11
func calcularModulo11(cadena string) string {
suma := 0
multiplicador := 2
limMult := 9
for i := len(cadena) - 1; i >= 0; i-- {
digito := int(cadena[i] - '0')
suma += digito * multiplicador
multiplicador++
if multiplicador > limMult {
multiplicador = 2
}
}
residuo := suma % 11
var verificador string
switch residuo {
case 10:
verificador = "1"
case 11:
verificador = "0"
default:
verificador = strconv.Itoa(residuo)
}
return verificador
}