Dans ce défi, vous allez utiliser la distribution d' un produit sur des sommes et des différences de nombres, comme expliqué ici .
Exemples
Input | Output
-------------|-------------
23(12+42) | (23*12)+(23*42)
9(62-5) | (9*62)-(9*5)
4(17+8-14) | (4*17)+(4*8)-(4*14)
15(-5) | -(15*5)
2(3) | (2*3)
8(+18) | +(8*18)
8(-40+18) | -(8*40)+(8*18)
spécification
L'entrée sera une chaîne du formulaire n(_)
, avec un seul entier positif non signé n
suivi d'une expression entre parenthèses _
. Cette expression _
consistera en des sommes et en la différence d'un ou plusieurs termes entiers positifs séparés par des signes +
et -
. Le premier terme peut être précédé d'un +
signe, d'un -
signe ou d'aucun signe.
Dans la sortie, le nombre initial n
doit être distribué pour multiplier chacun des termes. Chaque terme de a
doit être multiplié n
à gauche par pour produire l'expression entre parenthèses (n*a)
, et ces nouveaux termes doivent être combinés avec +
et -
signe exactement de la même manière que les termes d'origine.
Entrées invalides
Ce sont des exemples d'entrées que vous n'avez pas à gérer.
3(5 plus 3)
6(5 13)
(5+8)(6+6)
(5+3)8
Gagnant
C'est le code-golf , donc le code le plus court en octets l'emporte.
8(-40+18)