Son zamanlarda yeni bir dil yazıyorum , işlem sırasını ele almayı önlemek için zorunda kalmamak için, bunu tamamen önlemek için her ifadeyi uygun şekilde parantez içine alıyorum.
Parantez karakter kodları 40-41'de olduğundan, kodunuzun mümkün olduğunca kısa olması gerekir.
Örnekler
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)
kurallar
Yapmanız gereken tek işlem şunlardır: *
(çarpma), /
(bölme), +
(toplama) ve -
(çıkarma).
- İşlem sırası :
- Parantez
- Çarpma, Bölme
- Toplama, Çıkarma
- Sola-sağa gitmeyi tercih etmelisin
- Giriş numaraları her zaman pozitif tamsayılar olacaktır (bonuslara bakınız)
Bonuslar
Olumsuzluğu ele alırsanız % -20 :
3+-5
(3+(-5))
Girdinin içine boşluk yerleştirilmesine izin verirseniz % -5 :
3 + 4
(3+4)
Girişte ondalık basamakları işleyebiliyorsanız % -10 :
1+.12
(1+.12)
1+0.21/3
(1+(0.21/3))
500 ödül: Eğer bir cevap yazmak için yönetiyorsanız Adsız / Blokları
1+2+3+4
(bazı çözümler parantez içinde olabilir ((1+2)+(3+4))
)