एक आधा कार्डिनल चक्रीय क्वीन का निर्माण करें


18

एक आधा कार्डिनल साइक्लिक क्वीन दो राज्यों के साथ एक चक्रीय क्वीन है, एक दूसरे के लिए लंबवत।

नियम

आप तय कर सकते हैं कि आप किस रोटेशन को लागू करना चाहते हैं, क्लॉकवाइज़ या काउंटर-क्लॉकवाइज़।

एक बार घुमाए जाने के बाद, आपके कोड के किसी भी अंतराल को स्थिति को संरक्षित करने के लिए रिक्त स्थान से प्रतिस्थापित किया जाना चाहिए।

आपके कार्यक्रम को एक क्वीन की सामुदायिक परिभाषा को पूरा करना चाहिए ।

यह इसलिए प्रत्येक भाषा में सबसे छोटा कार्यक्रम जीतता है। आपका पहला प्रोग्राम आपके बाइट काउंट के लिए उपयोग किया जाता है।

मानक खामियों को मना किया जाता है।

उदाहरण

यदि आपका कार्यक्रम है:

$_='print';eval

फिर अगला पुनरावृत्ति या तो होनी चाहिए:

$
_
=
'
p
r
i
n
t
'
;
e
v
a
l

या

l
a
v
e
;
'
t
n
i
r
p
'
=
_
$

जो मूल कार्यक्रम का उत्पादन करना चाहिए:

$_='print';eval

यदि आपका कार्यक्रम है:

;$_=';
;$_=';
print

फिर अगला पुनरावृत्ति या तो होनी चाहिए:

;;
''t
==n
__i
$$r
;;p

या:

p;;
r$$
i__
n==
t''
 ;;

जो मूल कार्यक्रम का उत्पादन करना चाहिए:

;$_=';
;$_=';
print



1
@dylnan नहीं, अन्य एक आपसी क्वीन के लिए नहीं पूछता है।
मार्टिन एंडर

1
अब तक के जवाबों को देखने के बाद मुझे लगता है कि असली चुनौती एक से अधिक पंक्तियों के साथ एंटीक्लॉक वाइज या एक क्वीन होगी (ताकि रोटेशन ट्रांसपोज़िशन से अलग हो या बस नईलाइन्स डालें)।
वीजुन झोउ

1
आप दो कार्यक्रमों को अलग करने की आवश्यकता कर सकते हैं। अन्यथा, जिन परिमाणों में घूर्णी समरूपता होती है, वे मान्य उत्तर होंगे।
मार्टिन एंडर

जवाबों:


14

CJam , 19 17 15 बाइट्स

{s"_~"+N*""-}_~

इसे ऑनलाइन आज़माएं! रोटेशन की कोशिश करो।

व्याख्या

{s"_~"+  e# Standard quine framework. Puts a string representation of the entire
         e# program on the stack.
  N*     e# Riffle linefeeds into the string, which is effectively a clockwise
         e# rotation by 90°.
  ""-    e# Does nothing.
}_~

घुमाए गए कोड में, हमें हर जगह लाइनफीड मिला है:

{
s
"
_
~
"
+
N
*
"
"
-
}
_
~

जैसा कि लिन ने डोम के पहले क्वीन चैलेंज पर ध्यान दिया था कि लाइनफीड्स डालना वास्तव में अभी भी वैध क्वीन है, क्योंकि ब्लॉक के अंदर लाइनफीड्स को वैसे भी वर्बेटिम बनाए रखा जाएगा, और "_~"अंत में उन दो पात्रों को दिखाने के लिए स्ट्रिंग में भी लाइनफीड्स होंगे। खुद की लाइन। इसलिए {s"_~"+...}_~(लाइनफीड्स के साथ) अभी भी एक वैध क्वीन फ्रेमवर्क है (हालांकि स्ट्रिंग के अंत में एक अतिरिक्त लाइनफीड होगा)। N*अब उस स्ट्रिंग में और भी अधिक लाइनफीड सम्मिलित करता है, लेकिन हम वास्तव में परवाह नहीं करते हैं: क्योंकि अब ""-उस स्ट्रिंग के अंदर एक लाइनफीड है इसलिए यह वास्तव में प्रोग्राम प्रतिनिधित्व से सभी लाइनफीड को हटा देता है। इसलिए हम रोटेशन को पूर्ववत करते हुए कोड के क्षैतिज रूप के साथ समाप्त होते हैं।



5

> <> , 22 बाइट्स

 "2+}>oao#ov*48}}*d3'v

इसे ऑनलाइन आज़माएं!

घुमाया विरोधी घड़ी:

v
'
3
d
*
}
}
8
4
*
v
o
#
o
a
o
>
}
+
2
"

इसे ऑनलाइन आज़माएं!

पहला एक लाइन को उलटा करता है, जिसमें नई सुर्खियां होती हैं, और दूसरी इसे बिना नई खांचे के उलट छापती है।


यह बहुत चालाक है!
बजे फल

अच्छा यह कठिन मोड पर आ रहा है!
डोम हेस्टिंग्स

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.