Uproszczona wersja kalkulatora z cyframi angielskimi
Zadanie
Napisz program, który pobiera ciąg znaków jako dane wejściowe i wyprowadza wynik wyrażenia.
Zasady
Łańcuch wejściowy będzie sformułowany, a nie liczbowo.
Nie będzie nawiasów.
Kolejność obliczeń zostanie podzielona, pomnożona, odjęta, a następnie dodana.
W przypadku tych samych operacji obliczenia należy wykonać od lewej do prawej.
Wszystkie liczby wejściowe będą liczbami całkowitymi od -999 do 999 (obie włącznie)
Wyjście będzie liczbą całkowitą dowolnego zakresu.
Podział zawsze będzie doskonale podzielny, a zero nigdy nie będzie mianownikiem.
Ograniczenie wielkości liter do wprowadzenia jest opcjonalne. Nie musisz sprawdzać poprawności danych wejściowych.
Format liczbowy
0 to 20 -> zero,one,two...nineteen,twenty
21 to 99 -> twenty one,twenty two.....ninety eight,ninety nine
100 to 999 -> one hundred, one hundred one, one hundred two...one hundred ten....two hundred fifty....nine hundred ninety eight,nine hundred ninety nine
W przypadku liczb ujemnych: dodaj minusdo jego dodatniego odpowiednika
Format operacji
Addition: one plus two
Subtraction: one minus two
Multiplication: one time two #Note that for one on the left of multiplication, it is one time and not times.
two times one hundred
Division: forty divided by two
Przykłady:
o/p <- input
20 four times five
35 twenty plus fifteen
70 fifty plus five times four
-90 minus one time ninety
25 twenty one minus minus four
45 ninety divided by two
700 one time seven hundred
555 one hundred eleven times two plus three hundred thirty three
99 one hundred plus minus one
45 forty five plus two hundred times zero
4 four
-3 three minus three minus three
To jest golf golfowy, więc wygrywa najkrótszy kod
one times two. Czy używasz timenormalnego?