#130O'rta
Qavsli ifodani hisoblash
Vaqt: 1 s · Xotira: 256 MB
- Rekursiya
Shart
Formula quyidagicha aniqlanadi:
- bitta raqam (
0–9) — formula; - agar va formula bo'lsa,
(A+B),(A-B)va(A*B)ham formula.
Masalan, (2+(3*4)) va ((9-7)*(1-6)) — formulalar. Berilgan formulaning qiymatini hisoblang.
Kirish formati
Bitta qatorda formula — bo'sh joysiz, uzunligi tagacha. Barcha oraliq natijalar modul bo'yicha dan oshmaydi.
Chiqish formati
Bitta butun son — formulaning qiymati.
Namunalar
Kirish
(2+(3*4))
Chiqish
14
Kirish
((9-7)*(1-6))
Chiqish
-10
Izoh
Formulaning ta'rifi rekursiv — hisoblash ham rekursiv bo'ladi. Funksiya joriy belgidan boshlab bitta formulani o'qiydi: raqam bo'lsa — uni qaytaradi; ( bo'lsa — chap formulani (o'zini chaqirib), ishorani, o'ng formulani o'qiydi, ) ni o'tkazib yuboradi va natijani qaytaradi. Joriy o'rinni global o'zgaruvchida saqlash qulay.
Ikkinchi misol: . 64 bitli tur kerak.
