एक प्रोग्राम या फ़ंक्शन लिखें जो इनपुट के रूप में मोर्स कोड में गणितीय अभिव्यक्ति लेता है, और मोर्स कोड में समाधान लौटाता है।
मान्य संचालन प्लस हैं: +
और माइनस: _
(अंडरस्कोर)। आप मान सकते हैं कि आप केवल गैर-नकारात्मक पूर्णांक इनपुट प्राप्त करेंगे, और इसका परिणाम गैर-नकारात्मक होगा।
अभिव्यक्ति में कम से कम दो शब्द होंगे, और अधिकतम दस शब्द होंगे। वहाँ दो निकटवर्ती ऑपरेटर नहीं होंगे .----+_-....
, और कोष्ठक नहीं होंगे।
अंक एकल स्थानों द्वारा अलग किए जाते हैं। आप संचालकों को प्रत्येक स्थान पर एकल स्थान से संख्याओं से अलग करना चुन सकते हैं (उदाहरण देखें)।
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
संख्याओं के निर्माण के लिए। पैक्ड स्ट्रिंग्स का उपयोग करते समय संभवतः छोटा भी।