यहाँ 0 के माध्यम से अंक 0 के लिए 7 फ़ॉन्ट द्वारा एक पिक्सेल 5 है:
.███.
█...█
█...█
█...█
█...█
█...█
.███.
..█..
███..
..█..
..█..
..█..
..█..
█████
.███.
█...█
....█
...█.
..█..
.█...
█████
.███.
█...█
....█
..██.
....█
█...█
.███.
█..█.
█..█.
█..█.
█████
...█.
...█.
...█.
█████
█....
█....
.███.
....█
█...█
.███.
.███.
█...█
█....
████.
█...█
█...█
.███.
█████
....█
....█
...█.
...█.
..█..
..█..
.███.
█...█
█...█
.███.
█...█
█...█
.███.
.███.
█...█
█...█
.████
....█
█...█
.███.
(यह फ़ॉन्ट और संभवत: यह पृष्ठ बेहतर दिखेगा अगर आप अपने ब्राउज़र कंसोल में या यूआरएल बार लगाया जाता है में इस JavaScipt कोड चलेंगे javascript:
: $('#question pre,.answer pre').css('line-height',1)
।)
पाठ के दो समान आकार के आयताकार ब्लॉक लिखें, एक खाली स्थानों का प्रतिनिधित्व करने के लिए (.
ऊपर के फ़ॉन्ट में ) का प्रतिनिधित्व करने के लिए, और एक भरे हुए रिक्त स्थान का प्रतिनिधित्व करने के लिए ( █
)।
जब इन दोनों टेक्स्ट ब्लॉक को ऊपर के अंकों में से एक के रूप में एक ही 5 × 7 पैटर्न में व्यवस्थित किया जाता है, तो परिणामस्वरूप बड़े टेक्स्ट ब्लॉक को एक प्रोग्राम होना चाहिए जो उस अंक को स्टडआउट करने के लिए प्रिंट करता है। यह सभी 10 अंकों के लिए काम करना चाहिए।
उदाहरण के लिए, यदि आपका .
टेक्स्ट ब्लॉक था
---
'''
और आपका █
टेक्स्ट ब्लॉक था
ABC
123
फिर कार्यक्रम
---ABCABCABC---
'''123123123'''
ABC---------ABC
123'''''''''123
ABC---------ABC
123'''''''''123
ABC---------ABC
123'''''''''123
ABC---------ABC
123'''''''''123
ABC---------ABC
123'''''''''123
---ABCABCABC---
'''123123123'''
आउटपुट चाहिए 0
। इसी तरह, कार्यक्रम
------ABC------
''''''123''''''
ABCABCABC------
123123123''''''
------ABC------
''''''123''''''
------ABC------
''''''123''''''
------ABC------
''''''123''''''
------ABC------
''''''123''''''
ABCABCABCABCABC
123123123123123
आउटपुट चाहिए 1
, और इस तरह के कार्यक्रम के लिए 9
।
अंक के आकार के कार्यक्रम बनाने के लिए आप इस स्टैक स्निपेट का उपयोग कर सकते हैं:
<style>textarea{font-family:monospace;}</style><script>function go(){var t=parseInt(document.getElementById("digit").value[0]);if(isNaN(t))return void alert("Invalid digit.");for(var e=document.getElementById("empty").value.split("\n"),n=document.getElementById("filled").value.split("\n"),l=[],o=0;o<7*e.length;o++){l[o]="";for(var d=0;5>d;d++)l[o]+=font[t][Math.floor(o/e.length)][d]?n[o%n.length]:e[o%e.length]}document.getElementById("output").value=l.join("\n")}font=[[[0,1,1,1,0],[1,0,0,0,1],[1,0,0,0,1],[1,0,0,0,1],[1,0,0,0,1],[1,0,0,0,1],[0,1,1,1,0]],[[0,0,1,0,0],[1,1,1,0,0],[0,0,1,0,0],[0,0,1,0,0],[0,0,1,0,0],[0,0,1,0,0],[1,1,1,1,1]],[[0,1,1,1,0],[1,0,0,0,1],[0,0,0,0,1],[0,0,0,1,0],[0,0,1,0,0],[0,1,0,0,0],[1,1,1,1,1]],[[0,1,1,1,0],[1,0,0,0,1],[0,0,0,0,1],[0,0,1,1,0],[0,0,0,0,1],[1,0,0,0,1],[0,1,1,1,0]],[[1,0,0,1,0],[1,0,0,1,0],[1,0,0,1,0],[1,1,1,1,1],[0,0,0,1,0],[0,0,0,1,0],[0,0,0,1,0]],[[1,1,1,1,1],[1,0,0,0,0],[1,0,0,0,0],[0,1,1,1,0],[0,0,0,0,1],[1,0,0,0,1],[0,1,1,1,0]],[[0,1,1,1,0],[1,0,0,0,1],[1,0,0,0,0],[1,1,1,1,0],[1,0,0,0,1],[1,0,0,0,1],[0,1,1,1,0]],[[1,1,1,1,1],[0,0,0,0,1],[0,0,0,0,1],[0,0,0,1,0],[0,0,0,1,0],[0,0,1,0,0],[0,0,1,0,0]],[[0,1,1,1,0],[1,0,0,0,1],[1,0,0,0,1],[0,1,1,1,0],[1,0,0,0,1],[1,0,0,0,1],[0,1,1,1,0]],[[0,1,1,1,0],[1,0,0,0,1],[1,0,0,0,1],[0,1,1,1,1],[0,0,0,0,1],[1,0,0,0,1],[0,1,1,1,0]]]</script><textarea id='empty' rows='8' cols='32' placeholder='empty space text block...'></textarea><textarea id='filled' rows='8' cols='32' placeholder='filled space text block...'></textarea><br>Digit <input id='digit' type='text' value='0'> <button type='button' onclick='go()'>Generate</button><br><br><textarea id='output' rows='16' cols='64' placeholder='output...' style='background-color: #eee;' readonly></textarea>
विवरण
- 10 बड़े पाठ ब्लॉक कार्यक्रमों में से किसी को भी इनपुट की आवश्यकता नहीं होनी चाहिए। केवल एकल अंक प्लस एक वैकल्पिक अनुगामी न्यूलाइन आउटपुट। स्टडआउट या एक समान विकल्प के लिए आउटपुट।
- कोई भी प्रोग्राम अपने स्वयं के सोर्स कोड को पढ़ या एक्सेस नहीं कर सकता है। इसे एक सख्त क्वीन चैलेंज की तरह ट्रीट करें ।
- पाठ खंड समान नहीं हो सकता है और इसमें गैर-डायनेमो आयाम होना चाहिए।
- टेक्स्ट ब्लॉक में लाइन टर्मिनेटर को छोड़कर कोई भी वर्ण हो सकता है ।
- 10 कार्यक्रमों को एक ही भाषा में लिखे गए पूर्ण कार्यक्रम होने चाहिए, वे REPL स्निपेट नहीं हैं । आप वैकल्पिक रूप से उन सभी या उनमें से किसी के लिए एक अनुगामी न्यूलाइन जोड़ सकते हैं।
स्कोरिंग
आपका स्कोर आपके टेक्स्ट ब्लॉक में से एक का क्षेत्रफल (चौड़ाई गुना ऊंचाई) है। (वे एक ही आकार के हैं इसलिए दोनों ब्लॉकों को गिनने का कोई मतलब नहीं है।) 6 के स्कोर के लिए उदाहरण का क्षेत्र 3 से 2 है।
सबसे कम स्कोर जीतता है। संबंधों के मामले में, सबसे ज्यादा वोट देने वाला उत्तर जीत जाता है।
text blocks may not be identical
वास्तव में? मैं किसी को इस नियम को तोड़ते हुए देखना चाहता हूं, दो समान कोडब्लॉक देकर, जो जादुई रूप से अलग-अलग अंक लौटाता है, जब हर नंबर बिल्कुल एक ही कोड है ^ ^
var t=parseInt(document.getElementById("digit").value[0]);if(isNaN(t))return void alert("Invalid digit.");
के रूप में लिखा जा सकता हैvar t=document.getElementById("digit").value[0]/1;if(t!=t)return void alert("Invalid digit.");
, जो समान है लेकिन कम है। कुछ और चीजें हैं जो आप इसमें सुधार कर सकते हैं, लेकिन यह बहुत अच्छी लगती है!