Une version simpliste de la calculatrice numérique anglaise
Tâche
Écrivez un programme qui prend une chaîne en entrée et génère le résultat de l'expression.
Règles
La chaîne d'entrée sera libellée et non numérique.
Il n'y aura pas de parenthèses.
L'ordre de calcul sera diviser, multiplier, soustraire puis ajouter.
Pour les mêmes opérations, les calculs doivent être effectués de gauche à droite.
Tous les nombres entrés seront des entiers de -999 à 999 (les deux inclus)
La sortie sera un entier de n'importe quelle plage.
La division sera toujours parfaitement divisible et zéro ne sera jamais un dénominateur.
La restriction de cas pour l'entrée est facultative. Vous n'avez pas à vérifier la validité de l'entrée.
Format de nombre
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
Pour les nombres négatifs: ajouter minusà son équivalent positif
Format d'opération
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
Exemples:
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
C'est le code-golf donc le code le plus court gagne
one times two. Utilise timenormal?