El objetivo de este desafío es calcular un tipo de dígito de numerología a partir de cadenas que contienen caracteres y números.
- La entrada puede ser a través de cualquier método conveniente (entrada estándar, argumentos, archivo separado).
- La entrada puede contener cualquier caracteres ASCII imprimibles, pero sólo alfanumérico (
A-Z,a-zy0-9) tiene que ser considerado. - La salida debe ser un dígito entre
1y /9o una estrella*si no se encuentra ninguna letra y ningún dígito ... (o incluso0si la entrada contiene cualquier número0y nada más, pero esto no importa). Los valores de las letras se asignan de esta manera:
1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x y zEl dígito de numerología se calcula sumando cada valor de cadena, luego repítelo hasta que solo haya un dígito. De la muestra para
13579,Hello, world!,00 0 00,!@#$%^&*();,y3.141592:13579 => 1 + 3 + 5 + 7 + 9 = 25 => 2 + 5 = 7 Hello, world! => 8 + 5 + 3 + 3 + 6 + 5 + 6 + 9 + 3 + 4 = 52 => 5 + 2 = 7 00 0 00 => 0 + 0 + 0 + 0 + 0 = 0 !@#$%^&*(); => * => * 3.141592 => 3 + 1 + 4 + 1 + 5 + 9 + 2 = 25 => 2 + 5 = 7 3.1415926535897932384 => 3 + 1 + 4 + 1 + 5 + 9 + 2 + 6 + 5 + 3 + 5 + 8 + 9 + 7 + 9 + 3 + 2 + 3 + 8 + 4 = 97 => 9 + 7 = 16 => 1 + 6 = 7(¡Esto es genial, la mayoría de estas muestras dan
7! Pero es solo una muestra;)Algunas pruebas más:
Bob => 2 + 6 + 2 = 10 => 1 + 0 = 1 Charlie => 3 + 8 + 1 + 9 + 3 + 9 + 5 = 38 => 3 + 8 = 11 => 1 + 1 = 2 Anna => 1 + 5 + 5 + 1 = 12 => 1 + 2 = 3 Fana => 6 + 1 + 5 + 1 = 13 => 1 + 3 = 4 Gregory => 7 + 9 + 5 + 7 + 6 + 9 + 7 = 50 => 5 + 0 = 5 Denis => 4 + 5 + 5 + 9 + 1 = 24 => 2 + 4 = 6 Erik => 5 + 9 + 9 + 2 = 25 => 2 + 5 = 7 Helen => 8 + 5 + 3 + 5 + 5 = 26 => 2 + 6 = 8 Izis => 9 + 8 + 9 + 1 = 27 => 2 + 7 = 9
Este es un código de golf , por lo que gana la respuesta más corta en bytes.
Más corto por idioma
1y 9!
!@#$%^&*(); algo que debe devolver *.