Problem C
Ord till tal
Uppgiften består i att läsa in ett tal skrivet som ord, till exempel “åtta tusen sex hundra femtio sju”, och skriva ut motsvarande tal med siffror, i detta fall alltså 8657. Du kan förutsätta att talet inte understiger 1 och inte överstiger 999999999999. Vidare så är talet särskrivet (som visas av exemplet ovan och exemplen nedan), så att ett tal skrivs som en sekvens av ord separerade av mellanslag. De ord som kan förekomma är “ett”/“en” till och med “nitton”, samtliga tiotal (“tjugo” till och med “nittio”), samt orden “hundra”, “tusen”, “miljon”, “miljoner”, “miljard” och “miljarder”.
Du behöver inte ta hand om specialfall som “tolv hundra”; detta skrivs som “ett tusen två hundra”. Du behöver inte heller ta hand om förkortade versioner som “hundra elva”; detta skrivs som “ett hundra elva”.
Indata
Indata består av en rad av ord (strängar) enligt ovanstående beskrivning.
Utdata
Utdata ska bestå av ett heltal som är den numeriska representationen av indata-strängen.
Sample Input 1 | Sample Output 1 |
---|---|
åtta hundra åttio åtta |
888 |
Sample Input 2 | Sample Output 2 |
---|---|
åtta miljoner åtta hundra åttio åtta tusen åtta |
8888008 |
Sample Input 3 | Sample Output 3 |
---|---|
nio hundra nittio sju miljarder en miljon fem hundra fyrtio tre tusen ett hundra arton |
997001543118 |