Recentemente ho scritto una nuova lingua , per evitare di dover gestire l' ordine delle operazioni , ho semplicemente parentesi ogni espressione correttamente per evitarlo del tutto.
Poiché le parentesi si trovano ai codici char 40-41, il codice dovrà essere il più breve possibile.
Esempi
1+2*3
(1+(2*3))
2*(3+4)
(2*(3+4))
2*3/4+3
(((2*3)/4)+3)
342*32/8
((342*32)/8)
Regole
Le uniche operazioni che dovrai gestire sono: *
(moltiplicazione), /
(divisione), +
(addizione) e -
(sottrazione).
- L' ordine delle operazioni è:
- Parentesi
- Moltiplicazione, divisione
- Adizione, sottrazione
- Dovresti preferire andare a sinistra a destra
- I numeri di input saranno sempre numeri interi positivi (vedi bonus)
bonus
-20% se gestisci la negazione:
3+-5
(3+(-5))
-5% se si consente di posizionare spazi all'interno dell'input:
3 + 4
(3+4)
-10% se riesci a gestire i decimali nell'input:
1+.12
(1+.12)
1+0.21/3
(1+(0.21/3))
500 bounty: se riesci a scrivere una risposta in Senza nome / Blocchi
1+2+3+4
(che alcune soluzioni potrebbero essere tra parentesi ((1+2)+(3+4))
)