Problema 5
Diccionario Numérico
diccio.pas, diccio.c, diccio.cpp
Cada vez existen más programas que ayudan a la traducción de textos entre idiomas diferentes. En este problema nos interesa implementar la traducción de números del inglés.
Problema
Se trata de traducir uno o más enteros de inglés a su representación numérica. Los números a traducir tendrán valores entre –999,999,999 y 999,999,999.
Ésta es la lista de todas las palabras en inglés que el programa debe tratar:
negative, zero, one, two, three, four, five, six, seven, eight, nine, ten, eleven, twelve, thirteen, fourteen, fifteen, sixteen, seventeen, eighteen, nineteen, twenty, thirty, forty, fifty, sixty, seventy, eighty, ninety, hundred, thousand, million.
Entrada
La entrada del programa consiste de una secuencia de líneas. Cada línea contiene un número a traducir, formado íntegramente por las palabras listadas en el apartado anterior y separadas por caracteres “espacio”. Se supone que la secuencia de palabras representa un número correcto. En particular, las palabras “hundred”, “thousand” y “million” siempre estarán precedidas por una palabra que represente un número entre uno y nueve.
Salida
La salida del programa contendrá una línea por cada número de la entrada. La línea k-ésima de la salida será la representación numérica del número escrito en inglés en la línea k-ésima de la entrada. No deben escribirse ni puntos decimales ni similares; tan solo las cifras y, si es negativo, el signo '-'.
Ejemplo
entrada | salida |
six negative seven hundred twenty nine one million one hundred one |
6 -729 1000101 |
Concurso: | ICPC - 2 Concurso Interno de la Universidad Bonaterra. 17/Marzo/2002 |
Tomado de: | UVa Online Judge - 486 |
Ayuda: | entradas, salidas, sugerencias |
Soluciones: | diccio.pas, diccio.c, diccio.cpp |