เขียนโปรแกรมหรือฟังก์ชั่นที่ใช้นิพจน์ทางคณิตศาสตร์ในรหัสมอร์สเป็นอินพุตและส่งคืนโซลูชันในรหัสมอร์ส
การดำเนินการที่ถูกต้องคือบวก: +
และลบ: _
(ขีดล่าง) คุณสามารถสันนิษฐานได้ว่าคุณจะได้รับอินพุตจำนวนเต็มไม่เป็นลบเท่านั้นและผลลัพธ์จะไม่เป็นลบ
นิพจน์จะมีคำอย่างน้อยสองคำและสูงสุดสิบคำ จะไม่มีตัวดำเนินการติดกันสองตัวนั่นคือ.----+_-....
และจะไม่มีวงเล็บ
ตัวเลขแยกจากกันด้วยช่องว่างเดียว คุณสามารถเลือกให้ตัวดำเนินการแยกออกจากตัวเลขด้วยการเว้นวรรคเดียวในแต่ละด้าน (ดูตัวอย่าง)
มอร์สเทียบเท่าตัวเลข 0-9 คือ:
0 -----
1 .----
2 ..---
3 ...--
4 ....-
5 .....
6 -....
7 --...
8 ---..
9 ----.
ตัวอย่าง:
Input
Output
.----+.---- (1+1=2) Optional input: .---- + .----
..---
-...._...-- (6-3=3) Optional input: -.... _ ...--
...--
..---_...--+..--- (2-3+2=1)
1
..---+...--_....-+---.._..... (2+3-4+8-5=4)
....-
.---- ..---_-....+...-- ...-- (12-6+33=39)
...-- ----.
----. -----+----.+..--- ----._..... .....+---..+-...._.----+----.+----._..--- ----- (90+9+29-55+8+6-1+9+9-20=84)
---.. ....-
ใช้กฎมาตรฐานที่เกี่ยวข้องกับรูปแบบ I / O และอื่น ๆ ช่องว่างต่อท้ายบางส่วนและขึ้นบรรทัดใหม่ได้รับการยอมรับ คุณไม่สามารถแบ่งตัวเลขเป็นหลายบรรทัดได้ คุณไม่สามารถใช้eval
หรือเทียบเท่า
นี่คือรหัสกอล์ฟดังนั้นรหัสที่สั้นที่สุดในหน่วยไบต์ชนะ
J_.:s*R5"-.-"5
สำหรับการสร้างตัวเลข อาจสั้นลงเมื่อใช้สตริงที่บรรจุ