เมื่อเร็ว ๆ นี้ฉันได้เขียนภาษาใหม่เพื่อหลีกเลี่ยงความจำเป็นในการดำเนินการตามลำดับฉันเพียงแค่วงเล็บแต่ละนิพจน์ให้ถูกต้องเพื่อหลีกเลี่ยงปัญหานี้โดยสิ้นเชิง
เนื่องจากวงเล็บอยู่ที่ char-codes 40-41 รหัสของคุณจะต้องสั้นที่สุด
ตัวอย่าง
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)
กฎระเบียบ
การดำเนินการเดียวที่คุณจะต้องจัดการคือ: *
(การคูณ), /
(การหาร), +
(การเพิ่ม) และ-
(การลบ)
- คำสั่งของการดำเนินงานคือ
- วงเล็บ
- การคูณ, การหาร
- Adition การลบ
- คุณควรไปทางซ้ายขวา
- ตัวเลขที่ป้อนจะเป็นจำนวนเต็มบวกเสมอ (ดูโบนัส)
โบนัส
-20%ถ้าคุณจัดการกับการปฏิเสธ:
3+-5
(3+(-5))
-5%ถ้าคุณอนุญาตให้มีช่องว่างที่จะอยู่ภายในอินพุต:
3 + 4
(3+4)
-10%ถ้าคุณสามารถจัดการทศนิยมในอินพุต:
1+.12
(1+.12)
1+0.21/3
(1+(0.21/3))
1+2+3+4
(ซึ่งโซลูชั่นบางตัวอาจเป็นวงเล็บ((1+2)+(3+4))
)