Algoritmo de Verificacion de Cedula Ecuatoriana en Ruby
# Funciona en ruby 1.9, no Ruby 1.8
def verify( dni )
autoverifier = dni[ dni.size - 1 ].to_i
index = sum = 0
dni.chars { |char|
break if index == dni.size - 1
number = char.to_i
coef = index.even? ? 2 : 1
product = number * coef
product -= 9 if product > 9
sum += product
index += 1
}
remainder = sum % 10
return 10 - remainder == autoverifier
end
if ARGV[0]
dni = ARGV[0]
if verify( dni )
print "DNI is valid\n"
else
print "DNI is NOT valid\n"
end
else
print "Usage: dnitest.rb <<dni>>\n"
end
Me gusta:
Me gusta Cargando...
chevere ing milton mas corto
Por: Cesar Silverio el septiembre 26, 2012
a las 3:28 pm
bien… el primer algoritmo que encuentro y es el suyo… buenaso (Y)
Por: Fabricio Flores Gallardo el diciembre 12, 2012
a las 5:51 pm