ASCII ड्रैगन की वक्र


26

परिचय

ड्रैगन वक्र एक भग्न वक्र है कि विशेष रूप से पर जुरासिक पार्क उपन्यास की धारा शीर्षक पृष्ठों प्रकट होता है।

यह बहुत ही एक कागज पट्टी को मोड़ने की प्रक्रिया के रूप में वर्णित किया जा सकता है, जैसा कि इस वक्र के बारे में विकिपीडिया लेख में बताया गया है।

इस वक्र की पीढ़ी के पहले कुछ पुनरावृत्तियों इस तरह दिखते हैं (छवि के लिए विकिपीडिया पर क्रेडिट):

यहाँ छवि विवरण दर्ज करें

चुनौती

एक प्रोग्राम या फ़ंक्शन लिखें, जो कि पूर्णांक n इनपुट के रूप में दिया गया है, केवल वक्र के ASCII कला के रूप में ड्रैगन वक्र के n-वें पुनरावृत्ति को आउटपुट करता है _और|

  • आप उत्पादन के लिए आंकड़ा केवल का उपयोग कर |, _और रिक्त स्थान। आप कर्व को प्लॉट या कुछ और के रूप में आउटपुट नहीं कर सकते।
  • आप इनपुट को प्रोग्राम तर्क के रूप में, एसटीडीआईएन में या फ़ंक्शन पैरामीटर के रूप में ले सकते हैं।
  • इनपुट हमेशा एक पूर्णांक होंगे = = 0. आपके प्रोग्राम को इनपुट के उचित मूल्यों के लिए काम करना चाहिए, 12 की पेशकश की जाने वाली परीक्षा के मामलों में सबसे अधिक है।
  • पहला पुनरावृत्तियों इस तरह दिखेगा

    • Iteration 0 है

      _
      
    • Iteration 1 है

      _|
      
    • Iteration 2 है

      |_ 
       _|
      
  • अंत में एक अनुगामी रेखा ठीक है। वक्र में सबसे सही वर्ण तक लाइन भरने के अलावा किसी भी अनुगामी स्थान की अनुमति नहीं है

  • हमेशा की तरह कोई मानक खामियां नहीं हैं

परीक्षण के मामलों

  • इनपुट 0

उत्पादन

_
  • इनपुट 3

उत्पादन

   _   
|_| |_ 
     _|
  • इनपुट 5

उत्पादन

     _   _   
    |_|_| |_ 
 _   _|    _|
|_|_|_       
  |_|_|      
    |_       
     _|      
  |_|        
  • इनपुट 10

उत्पादन

           _       _                                           
         _|_|    _|_|                                          
        |_|_   _|_|_   _                                       
         _|_|_| |_| |_|_|                                      
   _    |_|_|_        |_                                       
 _|_|    _| |_|        _|                                      
|_|_   _|_          |_|                                        
 _|_|_|_|_|_                                                   
|_| |_|_|_|_|_                                                 
     _|_|_| |_|                                                
    |_| |_                                                     
         _|_   _   _           _   _           _   _           
   _    |_|_|_|_|_|_|_        |_|_|_|_        |_|_|_|_         
 _|_|    _|_|_|_|_| |_|    _   _|_| |_|    _   _|_| |_|        
|_|_   _|_|_|_|_|_        |_|_|_|_        |_|_|_|_             
 _|_|_|_|_|_|_|_|_|_   _   _|_|_|_|_   _   _|_|_|_|_   _   _   
|_| |_|_|_| |_|_|_| |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_ 
     _|_|    _|_|    _|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_| |_|
    |_|     |_|     |_| |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_     
                         _|_|_|_|_|_|_|_|_|_|_| |_| |_|_|_|_   
                   _    |_|_|_|_|_|_|_|_|_|_|_        |_|_|_|_ 
                 _|_|    _|_|_|_|_|_|_|_|_| |_|    _   _|_| |_|
                |_|_   _|_|_|_|_|_|_|_|_|_        |_|_|_|_     
                 _|_|_|_|_|_|_|_|_|_|_|_|_|_        |_| |_|    
                |_| |_|_|_| |_|_|_| |_|_|_|_|_                 
                     _|_|    _|_|    _|_|_| |_|                
                    |_|     |_|     |_| |_                     
                                         _|_   _   _           
                                   _    |_|_|_|_|_|_|_         
                                 _|_|    _|_|_|_|_| |_|        
                                |_|_   _|_|_|_|_|_             
                                 _|_|_|_|_|_|_|_|_|_   _   _   
                                |_| |_|_|_|_|_|_|_|_|_|_|_|_|_ 
                                     _|_|_|_|_|_|_|_|_|_|_| |_|
                                    |_| |_|_|_|_|_|_|_|_|_     
               _   _                     _|_|_| |_| |_|_|_|_   
              |_|_| |_             _    |_|_|_        |_|_|_|_ 
           _   _|    _|          _|_|    _| |_|    _   _|_| |_|
          |_|_|_                |_|_   _|_        |_|_|_|_     
            |_|_|                _|_|_|_|_|_        |_| |_|    
              |_   _       _    |_|_|_|_|_|_|_                 
           _   _|_|_|    _|_|    _|_|_|_|_| |_|                
          |_|_|_|_|_   _|_|_   _|_|_|_|_|_                     
            |_| |_| |_|_|_|_|_| |_| |_|_|_|_                   
                      |_|_|_|_        |_|_|_|_                 
                   _   _|_| |_|    _   _|_| |_|                
                  |_|_|_|_        |_|_|_|_                     
                    |_| |_|         |_| |_|                    
  • इनपुट 12

उत्पादन

                                                               _   _           _   _                                           _   _           _   _                                           
                                                              |_|_|_|_        |_|_|_|_                                        |_|_|_|_        |_|_|_|_                                         
                                                           _   _|_| |_|    _   _|_| |_|                                    _   _|_| |_|    _   _|_| |_|                                        
                                                          |_|_|_|_        |_|_|_|_                                        |_|_|_|_        |_|_|_|_                                             
                                                            |_|_|_|_   _   _|_|_|_|_   _   _                                |_|_|_|_   _   _|_|_|_|_   _   _                                   
                                                              |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_                                |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_                                 
                                                           _   _|_|_|_|_|_|_|_|_|_|_|_|_|_| |_|                            _   _|_|_|_|_|_|_|_|_|_|_|_|_|_| |_|                                
                                                          |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_                                |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_                                     
                                               _   _        |_|_|_|_|_|_|_|_|_| |_| |_|_|_|_                   _   _        |_|_|_|_|_|_|_|_|_| |_| |_|_|_|_                                   
                                              |_|_|_|_        |_|_|_|_|_|_|_|_        |_|_|_|_                |_|_|_|_        |_|_|_|_|_|_|_|_        |_|_|_|_                                 
                                           _   _|_| |_|    _   _|_|_|_|_|_| |_|    _   _|_| |_|            _   _|_| |_|    _   _|_|_|_|_|_| |_|    _   _|_| |_|                                
                                          |_|_|_|_        |_|_|_|_|_|_|_|_        |_|_|_|_                |_|_|_|_        |_|_|_|_|_|_|_|_        |_|_|_|_                                     
                                            |_|_|_|_   _   _|_|_|_|_|_|_|_|_        |_| |_|                 |_|_|_|_   _   _|_|_|_|_|_|_|_|_        |_| |_|                                    
                                              |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_                                |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_                                                 
                                           _   _|_|_|_|_|_|_|_|_|_|_|_|_|_| |_|                            _   _|_|_|_|_|_|_|_|_|_|_|_|_|_| |_|                                                
                                          |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_                                |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_                                                     
                                            |_| |_| |_|_|_|_|_|_|_|_|_|_|_|_   _   _           _   _        |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_   _   _           _   _           _   _           
                                                      |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_        |_|_|_|_        |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_        |_|_|_|_        |_|_|_|_         
                                                   _   _|_|_|_|_|_|_|_|_|_|_|_|_|_| |_|    _   _|_| |_|    _   _|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_| |_|    _   _|_| |_|    _   _|_| |_|        
                                                  |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_        |_|_|_|_        |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_        |_|_|_|_        |_|_|_|_             
                                                    |_| |_| |_|_|_|_|_|_|_|_|_|_|_|_   _   _|_|_|_|_   _   _|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_   _   _|_|_|_|_   _   _|_|_|_|_   _   _   
                                                              |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_| |_|_|_| |_|_|_|_|_|_|_|_|_|_|_| |_|_|_| |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_ 
                                                           _   _|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|    _|_|    _|_|_|_|_|_|_|_|_|_|    _|_|    _|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_| |_|
                                                          |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_    |_|     |_| |_|_|_|_|_|_|_|_    |_|     |_| |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_     
                                               _   _        |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|                _|_|_|_|_|_|_|_|                _|_|_|_|_|_|_|_|_|_|_| |_| |_|_|_|_   
                                              |_|_|_|_        |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_| |_|_           _    |_|_|_|_|_| |_|_           _    |_|_|_|_|_|_|_|_|_|_|_        |_|_|_|_ 
                                           _   _|_| |_|    _   _|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|    _|_|        _|_|    _|_|_|_|    _|_|        _|_|    _|_|_|_|_|_|_|_|_| |_|    _   _|_| |_|
                                          |_|_|_|_        |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_    |_|         |_|_   _|_|_|_|_    |_|         |_|_   _|_|_|_|_|_|_|_|_|_        |_|_|_|_     
                                            |_|_|_|_   _   _|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|                _|_|_|_|_|_|_|_|                _|_|_|_|_|_|_|_|_|_|_|_|_|_        |_| |_|    
                                              |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_   _            |_| |_|_|_| |_|_                |_| |_|_|_| |_|_|_| |_|_|_|_|_                 
                                           _   _|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|                _|_|    _|_|                    _|_|    _|_|    _|_|_| |_|                
                                          |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_   _            |_|     |_|                     |_|     |_|     |_| |_                     
                                            |_| |_| |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|                                                                _|_   _   _           
                                                      |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_| |_|_                                                           _    |_|_|_|_|_|_|_         
                                                   _   _|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|    _|_|                                                        _|_|    _|_|_|_|_| |_|        
                                                  |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_    |_|                                                         |_|_   _|_|_|_|_|_             
                                                    |_| |_| |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|                                                                _|_|_|_|_|_|_|_|_|_   _   _   
           _       _                                          |_|_|_|_|_|_| |_|_|_| |_|_|_|_|_|_   _                                                            |_| |_|_|_|_|_|_|_|_|_|_|_|_|_ 
         _|_|    _|_|                                      _   _|_|_|_|_|    _|_|    _|_|_|_|_|_|_|_|                                                                _|_|_|_|_|_|_|_|_|_|_| |_|
        |_|_   _|_|_   _                                  |_|_|_|_|_|_|_    |_|     |_| |_|_|_|_|_|_   _                                                            |_| |_|_|_|_|_|_|_|_|_     
         _|_|_| |_| |_|_|                      _   _        |_|_|_|_|_|_|                _|_|_|_|_|_|_|_|                                      _   _                     _|_|_| |_| |_|_|_|_   
   _    |_|_|_        |_                      |_|_|_|_        |_|_| |_|_           _    |_|_|_|_|_| |_|_                                      |_|_| |_             _    |_|_|_        |_|_|_|_ 
 _|_|    _| |_|        _|                  _   _|_| |_|    _   _|    _|_|        _|_|    _|_|_|_|    _|_|                                  _   _|    _|          _|_|    _| |_|    _   _|_| |_|
|_|_   _|_          |_|                   |_|_|_|_        |_|_|_    |_|         |_|_   _|_|_|_|_    |_|                                   |_|_|_                |_|_   _|_        |_|_|_|_     
 _|_|_|_|_|_                                |_|_|_|_   _   _|_|_|                _|_|_|_|_|_|_|_|                                           |_|_|                _|_|_|_|_|_        |_| |_|    
|_| |_|_|_|_|_                                |_|_|_|_|_|_|_|_|_   _            |_| |_|_|_| |_|_                                              |_   _       _    |_|_|_|_|_|_|_                 
     _|_|_| |_|                            _   _|_|_|_|_|_|_|_|_|_|_|                _|_|    _|_|                                          _   _|_|_|    _|_|    _|_|_|_|_| |_|                
    |_| |_                                |_|_|_|_|_|_|_|_|_|_|_|_|_   _            |_|     |_|                                           |_|_|_|_|_   _|_|_   _|_|_|_|_|_                     
         _|_   _   _           _   _        |_|_|_|_|_|_|_|_|_|_|_|_|_|_|                                                                   |_| |_| |_|_|_|_|_| |_| |_|_|_|_                   
   _    |_|_|_|_|_|_|_        |_|_|_|_        |_|_|_|_|_|_|_|_|_|_| |_|_                                                                              |_|_|_|_        |_|_|_|_                 
 _|_|    _|_|_|_|_| |_|    _   _|_| |_|    _   _|_|_|_|_|_|_|_|_|    _|_|                                                                          _   _|_| |_|    _   _|_| |_|                
|_|_   _|_|_|_|_|_        |_|_|_|_        |_|_|_|_|_|_|_|_|_|_|_    |_|                                                                           |_|_|_|_        |_|_|_|_                     
 _|_|_|_|_|_|_|_|_|_   _   _|_|_|_|_   _   _|_|_|_|_|_|_|_|_|_|_|                                                                                   |_| |_|         |_| |_|                    
|_| |_|_|_| |_|_|_| |_|_|_|_|_|_|_|_|_|_|_| |_|_|_| |_|_|_|_|_|_   _                                                                                                                           
     _|_|    _|_|    _|_|_|_|_|_|_|_|_|_|    _|_|    _|_|_|_|_|_|_|_|                                                                                                                          
    |_|     |_|     |_| |_|_|_|_|_|_|_|_    |_|     |_| |_|_|_|_|_|_   _                                                                                                                       
                         _|_|_|_|_|_|_|_|                _|_|_|_|_|_|_|_|                                                                                                                      
                   _    |_|_|_|_|_| |_|_           _    |_|_|_|_|_| |_|_                                                                                                                       
                 _|_|    _|_|_|_|    _|_|        _|_|    _|_|_|_|    _|_|                                                                                                                      
                |_|_   _|_|_|_|_    |_|         |_|_   _|_|_|_|_    |_|                                                                                                                        
                 _|_|_|_|_|_|_|_|                _|_|_|_|_|_|_|_|                                                                                                                              
                |_| |_|_|_| |_|_                |_| |_|_|_| |_|_                                                                                                                               
                     _|_|    _|_|                    _|_|    _|_|                                                                                                                              
                    |_|     |_|                     |_|     |_|                                                                                                                                

स्कोरिंग

यह , इसलिए बाइट्स में सबसे छोटा कार्यक्रम जीत जाता है।


मुझे यकीन है कि कोई 'रिक्त स्थान की भारी मात्रा' की अस्पष्टता के बारे में शिकायत करेगा, तो एक विषम सीमा के बारे में कैसे?
feersum

1
@ Faersum खैर मैं पूरी तरह से अनुगामी रिक्त स्थान को नापसंद करता हूं, इसलिए अब कोई भी शिकायत नहीं करेगा!
घातक

2
मुझे शिकायत है ... अब आप एक व्हाट्सएप नाजी बन रहे हैं!
feersum

@ Faersum और आप एक क्षैतिज दीर्घवृत्त नाजी हैं!
ऑप्टिमाइज़र

यह सबसे अच्छा भग्न प्रश्न है, मुझे आशा है कि मेरे पास भाग लेने का समय होगा! क्या 90,180,270 डिग्री के माध्यम से वक्र को घुमाना ठीक है या क्या इसे उदाहरणों के अनुसार प्रदर्शित करना है?
लेवल रिवर सेंट

जवाबों:


9

रूबी, 239 201 बाइट्स

यह एक लैम्ब्डा फ़ंक्शन है जिसे उसी तरीके से कहा जाना चाहिए जैसे कि अनगॉल्फेड संस्करण में।

गोल्फ सुधार में शामिल हैं: 8<<n/2पुन: उपयोग के लिए एक चर का असाइनमेंट ; uptoलूप के बजाय eachलूप; के बजाय टर्नरी ऑपरेटर if..else..end; [y,y+=d].maxजहां प्रिंट करने के लिए गणना करने का उपयोग |; का उपयोग करें ?_और ?|बराबर के बजाय '|'और '_'; और निरर्थक उन्मूलन %4(धन्यवाद Sp3000।)

->n{a=Array.new(m=8<<n/2){" "*m}
p=q=1+x=y=m/2
r=3
1.upto(1<<n){|i|d=(r&2)-1
r%2>0?(a[y][x+=d]=?_
x+=d):(a[[y,y+=d].max][x]=?|
p=x<p ?x:p
q=x>q ?x:q)
r+=i/(i&-i)}
a.delete(a[0])
puts a.map{|e|e[p..q]}}

यह विकिपीडिया से निम्न सूत्र पर निर्भर करता है:

सबसे पहले, n को k * (2 ^ m) के रूप में व्यक्त करें जहां k एक विषम संख्या है। Nth टर्न की दिशा k mod 4 द्वारा निर्धारित की जाती है, जब k को 4 से विभाजित किया जाता है तो शेष बचे। यदि k mod 4 1 है तो nth टर्न R है; यदि k mod 4 3 है तो nth टर्न L है।

विकिपीडिया निम्नलिखित कोड देता है:

कोड में मोड़ दिशा खोजने के लिए उपरोक्त k mod 4 विधि को लागू करने की एक सरल एक पंक्ति गैर-पुनरावर्ती विधि है। टर्न एन को बाइनरी नंबर मानकर निम्नलिखित बूलियन मान की गणना करें: bool turn = (((n & −n) << 1) & n) != 0

मैंने इसे बेहतर बनाया, i/(i&-i)%4जिसमें i&-iकम से कम महत्वपूर्ण अंक खोजने के लिए अभिव्यक्ति का उपयोग करने की एक ही तकनीक का उपयोग किया जाता है, लेकिन मेरी अभिव्यक्ति सीधे (बाएं मोड़ के लिए) या 3 (दाएं मोड़ के लिए) सीधे देती है, जो कि एक नंबर के रूप में ट्रैक दिशा के रूप 0..3में आसान है उत्तर, पश्चिम, दक्षिण, पूर्व गोल्फ कारणों से।)

परीक्षण कार्यक्रम में मूल रूप से अप्राकृतिक

f=->n{
  a=Array.new(8<<n/2){" "*(8<<n/2)}  #Make an array of strings of spaces of appropriate size 
  p=q=1+x=y=4<<n/2                   #set x&y to the middle of the array, p&q to the place where the underscore for n=0 will be printed.                             
  r=3                                #direction pointer, headed East
  (1..1<<n).each{|i|                 #all elements, starting at 1
    d=(r&2)-1                          #d is +1 for East and South, -1 for West and North
    if r%2>0                           #if horizontal
      a[y][x+=d]='_'                     #move cursor 1 position in direction d, print underscore,
      x+=d                               #and move again.
    else                               #else vertical
      a[(y+([d,0].max))][x]='|'          #draw | on the same line if d negative, line below if d positive
      y+=d                               #move cursor
      p=x<p ?x:p                         #update minimum and maximum x values for whitespace truncation later
      q=x>q ?x:q                         #(must be done for vertical bars, to avoid unnecesary space in n=0 case)
    end
    r=(r+i/(i&-i))%4                   #update direction
  }
  a.delete(a[0])                     #first line of a is blank. delete all blank lines.
  puts a.map!{|e|e[p..q]}                 #use p and q to truncate all strings to avoid unnecessary whitespace to left and right.
}


f.call(0)
f.call(2)
f.call(3)
f.call(11)

@ दोनों कार्यों को (वर्तमान में) समान (टिप्पणियों और व्हाट्सएप को छोड़कर) समान करें। मैंने मान (+5 बाइट्स) वापस करने के बजाय स्ट्रॉडआउट में प्रिंटिंग जोड़ दी है और f=शुरुआत में इसे हटा दिया है क्योंकि यह आमतौर पर एक अनाम के लिए नहीं गिना जाता है। फ़ंक्शन परिभाषा (-2 बाइट्स) कल अधिक गोल्फिंग। ध्यान दें कि आपको अभी भी गोल्फ फ़ंक्शन को निष्पादित करना होगा, इसे एक चर पर असाइन f=->n{.....}करके f.call(n)और परीक्षण कार्यक्रम उदाहरण में इसका उपयोग करके कॉल करना होगा ।
लेवल रिवर सेंट

1
@Fatalize BTW मुझे लगता है कि मेरे कंसोल में भग्न बिल्कुल भयानक लग रहा है। चुनौती के लिए धन्यवाद।
लेवल रिवर सेंट

@ Sp3000 वास्तव %4में आवश्यक नहीं है, जैसा rकि केवल अभिव्यक्तियों में उपयोग किया जाता है r%2और r&2। पारितोषिक के लिए धन्यवाद। मैं अब 202 से नीचे हूँ।
लेवल रिवर सेंट

8

पायथन 2, 270 222 बाइट्स

y=X=Y=0
i=m=x=1
D={}
k=2**input()
while~k+i:j=Y+(y>0);s={2*X+x};D[j]=D.get(j,s)|s;m=min(m,*s);Y+=y;X+=x;exec i/(i&-i)*"x,y=y,-x;";i+=1
for r in sorted(D):print"".join(" | _"[(n in D[r])+n%2*2]for n in range(m,max(D[r])+1))

अब nth बारी के लिए सूत्र का उपयोग करना। मैंने (((n & −n) << 1) & n)विकिपीडिया पर सूत्र देखा , लेकिन यह महसूस नहीं किया कि जब तक मैंने @ स्टीववे्रिल के उत्तर में इसे देखा था, तब तक यह कितना उपयोगी था । मैं वास्तव में के %4रूप में अच्छी तरह से छोड़ देता हूं , इसलिए बहुत कुछ घूम रहा है, जिससे बड़े इनपुट को थोड़ी देर लगती है।


साइड कमेंट: यह ग्राफिकल आउटपुट नहीं है, लेकिन यहां कुछ गोल्फ कछुआ कोड है:

from turtle import*
for i in range(1,2**input()+1):fd(5);lt(i/(i&-i)*90)

जब तक इसे चलाने में एक घंटे का समय नहीं लगता, यह मेरे द्वारा ठीक है
Fatalize

अगर मैं सही तरीके से समझूं, तो इस चुनौती का जवाब बनने के लिए आपका दूसरा कोड बहुत थोड़ा बदला जा सकता है ।
nedla2004

3

सी #, 337 बाइट्स

यहाँ नियमों का एक छोटा सा दुरुपयोग है। अग्रणी स्थान पर कोई प्रतिबंध नहीं है। दुर्भाग्य से, कैनवास परिमित है, इसलिए n के लिए एक ऊपरी सीमा है ।

स्पष्टता के लिए प्रस्तुत:

using C=System.Console;
class P{
    static void Main(string[]a){
        int n=int.Parse(a[0]),d=2,x=250,y=500;
        var f="0D";
        while(n-->0)
            f=f.Replace("D","d3t03").Replace("T","10d1t").ToUpper();
        C.SetBufferSize(999,999);
        foreach(var c in f){
            n=c&7;
            d=(d+n)%4;
            if(n<1){
                var b=d%2<1;
                x+=n=b?1-d:0;
                y+=b?0:2-d;
                C.SetCursorPosition(x*2-n,y+d/3);
                C.Write(b?'_':'|');
            }
        }
    }
}

1

जावास्क्रिप्ट (ईएस 6), 220

बाएँ और दाएँ घुमाव के लिए विकिपीडिया सूत्र का उपयोग करना।

n=>(d=>{for(i=x=y=d;i<1<<n;d+=++i/(i&-i))z=d&2,(w=d&1)?y+=z/2:x+=1-z,g=x<0?g.map(r=>[,,...r],x=1):g,g=y<0?[y=0,...g]:g,r=g[y]=g[y]||[],r[x]='_|'[w],w?y-=!z:x+=1-z})(0,g=[])||g.map(r=>[...r].map(c=>c||' ').join``).join`
`

कम गोल्फ वाला

n=>{
  g=[];
  for(i=x=y=d=0;i<1<<n;d+=++i/(i&-i))
    z=d&2,
    (w=d&1)?y+=z/2:x+=1-z,
    g=x<0?g.map(r=>[,,...r],x=1):g,
    g=y<0?[y=0,...g]:g,
    r=g[y]=g[y]||[],
    r[x]='_|'[w],
    w?y-=!z:x+=1-z
  return g.map(r=>[...r].map(c=>c||' ').join``).join`\n`
}

F=
n=>(d=>{for(i=x=y=d;i<1<<n;d+=++i/(i&-i))z=d&2,(w=d&1)?y+=z/2:x+=1-z,g=x<0?g.map(r=>[,,...r],x=1):g,g=y<0?[y=0,...g]:g,r=g[y]=g[y]||[],r[x]='_|'[w],w?y-=!z:x+=1-z})(0,g=[])||g.map(r=>[...r].map(c=>c||' ').join``).join`
`

function update() {
  var n=+I.value
  O.textContent=F(n)
}

update()
pre { font-size: 8px }
<input id=I value=5 type=number oninput='update()'><pre id=O></pre>


1

एपीएल (डायलॉग यूनिकोड) , 65 64 बाइट्स एसबीसीएस

('_|'⍴⍨≢a)@a⍴∘''1+⌈/a←(⊢-⌊/)⌈2+/÷∘¯2 1¨11 9∘○¨+\0,(⊢,0j1×⌽)⍣⎕,1

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

(⊢,0j1×⌽)⍣⎕,1जटिल संख्याओं के रूप में चरणों की एक सूची बनाता है। यह शुरू होता है 1और बार-बार संलग्न होता है ( ,) एक उलट ( ) सूची की प्रतिलिपि 0j1= sqrt (-1) से गुणा होती है ।

+\0, prepend 0 और उपसर्ग योग की गणना

11 9∘○¨ जटिल (वास्तविक; काल्पनिक) जोड़े में जटिल

÷∘¯2 1¨ वास्तविक भागों को -2 से विभाजित करें

2+/ आसन्न जोड़े की रकम

अधिकतम सीमा

(⊢-⌊/) मिनीमा को सभी से घटाएं, ताकि कोर्ड नॉन-निगेटिव हो

a← को आवंटित a

⍴∘''⊃1+⌈/ एक खाली चार मैट्रिक्स बनाएं जिससे अधिकतम कोर्ड्स फिट हो सकें

('_|'⍴⍨≢a)@aबारी _- बारी से और |निर्देशांक में से डाल दियाa

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