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
}
