/// , 35 बाइट्स
/I///,*/+,//+/I//**,/,A//*/A//,//,I
इसे ऑनलाइन आज़माएं!
यूनरी में इनपुट का उपयोग करता है प्रतीक का उपयोग करता है *
, और आउटपुट में यूनिक का उपयोग करता है A
। यह कुछ विशिष्ट भाषाओं के लिए अनुमत है, जिनमें /// ( मेटा ) शामिल है
क्योंकि /// में इनपुट लेने का कोई तरीका नहीं है, इनपुट हार्डकोड होना चाहिए:
/I/«put input here»//,*/+,//+/I//**,/,A//*/A//,//,I
इनपुट के लिए = 4।
स्पष्टीकरण: (पढ़ने से पहले, आप को पता है कि केवल वाक्य रचना की जरूरत है ///
कर रहे हैं /pattern/replacement/
, जिनमें से हर घटना की जगह pattern
से replacement
, और \
से बचने के लिए, अन्य पात्रों के उत्पादन के लिए मुद्रित किया जाता है)
के लिए n=4
:
/I/****//,*/+,//+/I//**,/,A//*/A//,//,I Start program.
/I/****/ Replace all `I` in the program by the input.
/,*/+,//+/****//**,/,A//*/A//,//,**** Remaining part of the program.
/,*/+,/ Use the `,` as a scanner, scan through `*` after it and convert to `+`.
/+/****//**,/,A//*/A//,//++++, Note that only `*` in the second group is affected.
/+/****/ Replace all `+` (which is just created) by `n` asterisks (from the first `I` group)
/**,/,A//*/A//,//****************, Now at the last of the program before the `,` there are `n²` asterisks.
/**,/,A/ Scan the `,` to the left to perform division by 2:
replace each `**` by a `A` as the scanner `,` pass through.
/*/A//,//,AAAAAAAA Remaining program.
/*/A/ If there is any `*` remaining (if `n²` is odd), replace it with `A`.
/,// Remove the scanner `,`.
AAAAAAAA Output the result.