Viết chương trình hoặc hàm lấy biểu thức toán học trong mã Morse làm đầu vào và trả về giải pháp trong mã Morse.
Các hoạt động hợp lệ là cộng: +
và trừ: _
(gạch dưới). Bạn có thể giả sử rằng bạn sẽ chỉ nhận được đầu vào số nguyên không âm và kết quả sẽ không âm.
Biểu thức sẽ chứa ít nhất hai thuật ngữ và tối đa mười thuật ngữ. Sẽ không có hai toán tử liền kề .----+_-....
, và sẽ không có dấu ngoặc đơn.
Các chữ số được phân tách bằng các khoảng trắng đơn. Bạn có thể chọn tách các toán tử khỏi các số bằng một khoảng trắng ở mỗi bên (xem ví dụ).
Tương đương Morse cho các chữ số 0-9 là:
0 -----
1 .----
2 ..---
3 ...--
4 ....-
5 .....
6 -....
7 --...
8 ---..
9 ----.
Ví dụ:
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)
---.. ....-
Các quy tắc tiêu chuẩn liên quan đến các định dạng I / O, vv được áp dụng. Một vài dấu cách và một dòng mới được chấp nhận. Bạn không thể chia số trên một số dòng. Bạn không thể sử dụng eval
hoặc tương đương.
Đây là mã golf, vì vậy mã ngắn nhất tính bằng byte sẽ thắng.
J_.:s*R5"-.-"5
để xây dựng các con số. Có lẽ thậm chí rút ngắn khi sử dụng chuỗi đóng gói.