पाठ का एक आयताकार ब्लॉक लिखिए, जब एक Sierpinski कालीन में व्यवस्थित किया जाता है , खाली भागों के लिए रिक्त स्थान के समान आकार के ब्लॉक का उपयोग करके, एक प्रोग्राम बनाता है जो कालीन की पुनरावृत्ति संख्या को आउटपुट करता है।
उदाहरण के लिए, यदि आपका टेक्स्ट ब्लॉक है
TXT
BLK
फिर कार्यक्रम चला रहा है
TXTTXTTXT
BLKBLKBLK
TXT TXT
BLK BLK
TXTTXTTXT
BLKBLKBLK
उत्पादन करना चाहिए 1
क्योंकि कार्यक्रम का आकार Sierpinski कालीन के पहले पुनरावृत्ति का प्रतिनिधित्व करता है।
इसी तरह, चल रहा है
TXTTXTTXTTXTTXTTXTTXTTXTTXT
BLKBLKBLKBLKBLKBLKBLKBLKBLK
TXT TXTTXT TXTTXT TXT
BLK BLKBLK BLKBLK BLK
TXTTXTTXTTXTTXTTXTTXTTXTTXT
BLKBLKBLKBLKBLKBLKBLKBLKBLK
TXTTXTTXT TXTTXTTXT
BLKBLKBLK BLKBLKBLK
TXT TXT TXT TXT
BLK BLK BLK BLK
TXTTXTTXT TXTTXTTXT
BLKBLKBLK BLKBLKBLK
TXTTXTTXTTXTTXTTXTTXTTXTTXT
BLKBLKBLKBLKBLKBLKBLKBLKBLK
TXT TXTTXT TXTTXT TXT
BLK BLKBLK BLKBLK BLK
TXTTXTTXTTXTTXTTXTTXTTXTTXT
BLKBLKBLKBLKBLKBLKBLKBLKBLK
2 आउटपुट होना चाहिए क्योंकि यह दूसरे Sierpinski कालीन पुनरावृत्ति का आकार है।
जैसा है वैसा टेक्स्ट ब्लॉक चलाना
TXT
BLK
आउटपुट होना चाहिए 0
क्योंकि इसे शून्य पुनरावृत्ति माना जा सकता है।
यह आगे के सभी पुनरावृत्तियों के लिए काम करना चाहिए। (कम से कम सैद्धांतिक रूप से, कंप्यूटर की स्मृति और सभी है।)
विवरण
- कार्यक्रम उनके स्रोत कोड के बारे में जानकारी को पढ़ या एक्सेस नहीं कर सकते हैं। इसे एक सख्त क्वीन चैलेंज की तरह ट्रीट करें।
- आउटपुट स्टडआउट या समान विकल्प पर जाता है। केवल आउटपुट संख्या और एक वैकल्पिक अनुगामी न्यूलाइन। कोई इनपुट नहीं है।
- टेक्स्ट ब्लॉक में कोई भी वर्ण हो सकता है जिसे लाइन टर्मिनेटर नहीं माना जाता है । पाठ ब्लॉक में रिक्त स्थान हो सकते हैं।
- कालीन में "रिक्त स्थान" में पूरी तरह से अंतरिक्ष वर्ण शामिल होने चाहिए ।
- आप वैकल्पिक रूप से मान सकते हैं कि सभी कार्यक्रमों में एक नई रूपरेखा है।
आप किसी भी पुनरावृत्ति पर दिए गए टेक्स्ट ब्लॉक के लिए कालीन उत्पन्न करने के लिए इस स्टैक स्निपेट का उपयोग कर सकते हैं:
<style>#o,#i{font-family:monospace;}</style><script>function c(e){e=e.split("\n");for(var n=new Array(3*e.length),t=0;t<n.length;t++){var l=t%e.length;n[t]=e[l]+(t>=e.length&&t<2*e.length?e[l].replace(/./g," "):e[l])+e[l]}return n.join("\n")}function f(){for(i=document.getElementById("i").value,n=parseInt(document.getElementById("n").value);n>0;)i=c(i),n--;document.getElementById("o").value=i}</script><textarea id='i'placeholder='code block...'rows='8'cols='32'></textarea><br>Iterations <input id='n'type='text' value='1'><br><br><button type='button'onclick='f()'>Generate</button><br><br><textarea id='o'placeholder='output...'rows='8'cols='32'style='background-color:#eee'readonly></textarea>
स्कोरिंग
प्रस्तुत जिसका प्रारंभिक पाठ ब्लॉक क्षेत्र (चौड़ाई गुना ऊंचाई) से सबसे छोटा है वह विजेता है। TXT\nBLK
उदाहरण 6. के स्कोर के लिए 2 से 3 है (मूल रूप से कम से कम कोड जीतता है, इसलिए कोड गोल्फ टैग।)
टाईब्रेकर प्रस्तुत करने के लिए जाता है जो अपने पाठ ब्लॉक में सबसे कम विशिष्ट वर्णों का उपयोग करता है। यदि अभी भी बंधा हुआ है, तो उत्तर ने पहली जीत दर्ज की।