कछुए सभी तरह से नीचे


74

एक प्रोग्राम या फ़ंक्शन लिखें जो एक सकारात्मक पूर्णांक और प्रिंट में लेता है या उस कई ASCII- कला कछुओं का ढेर लौटाता है , जहां प्रत्येक कछुआ ऊपर वाले से बड़ा होता है।

विशेष रूप से, यदि इनपुट है 1, तो आउटपुट होना चाहिए:

 __
/,,\o

यदि इनपुट है 2:

  __
o/,,\
 ____
/,__,\o

यदि इनपुट है 3:

   __
  /,,\o
  ____
o/,__,\
 ______
/,____,\o

यदि इनपुट है 4:

    __
  o/,,\
   ____
  /,__,\o
  ______
o/,____,\
 ________
/,______,\o

यदि इनपुट है 5:

     __
    /,,\o
    ____
  o/,__,\
   ______
  /,____,\o
  ________
o/,______,\
 __________
/,________,\o

और इसी तरह बड़े इनपुट के लिए एक ही पैटर्न में।

ध्यान दें कि:

  • oनीचे के कछुए का सिर ( ) हमेशा दाईं ओर होता है। ऊपर के कछुओं के सिर फिर आगे-पीछे होते हैं।
  • कोई रेखाएँ रिक्त स्थान नहीं हो सकती हैं।
  • सतही अग्रणी स्थान की अनुमति नहीं है। (यानी नीचे कछुए की पीठ रेखा के शुरू में होनी चाहिए।)
  • एक एकल वैकल्पिक अनुगामी न्यूलाइन की अनुमति है।

बाइट्स में सबसे छोटा कोड जीतता है।


11
trichoplax, मैं एक उत्तर की उम्मीद कर रहा हूं जो पुनरावृत्ति का उपयोग करता है।
एल'एंडिया स्ट्रैटन

15
,________,जब कोई कुछ कहता है जो कोई मतलब नहीं है।
आर। काप

8
यह सुनिश्चित करने के लिए कि प्रत्येक कछुआ ऊपर या नीचे देख रहा है, एक गधे को देखता है?
बेसिक

15
मुझे खुशी है कि आपने ASCII कछुओं को निर्दिष्ट किया। अन्यथा, मैं अंत में एक लोगो जवाब प्रस्तुत करने जा रहा था जहां मुझे कछुए को छिपाने के लिए 3 बाइट बर्बाद करने की आवश्यकता नहीं थी।
गिटारपैकर

4
मुझे कछुए पसंद हैं!
स्कॉट्टी .नेट

जवाबों:


31

बैच, 256 बाइट्स

@set i=echo 
@%i%off
set u=
for /l %%j in (2,2,%1)do call set i=%%i%%  
set/af=%1^&1
if %f%==1 %i% __&%i%/,,\o&set u=__
for /l %%j in (2,2,%1)do call:l
exit/b
:l
set i=%i:~0,-2%
%i%  _%u%_
%i%o/,%u%,\
%i% __%u%__
%i%/,_%u%_,\o
set u=__%u%__

ध्यान दें कि पंक्ति 1 में अनुगामी स्थान है और पंक्ति 4 में दो अनुगामी स्थान हैं। iइसलिए echoप्रत्येक कछुए के लिए इंडेंटेशन की उचित मात्रा के साथ एक कमांड शामिल है । इस बीच uवैकल्पिक कछुए में अंडरस्कोर की संख्या शामिल है। एक प्रमुख विषम कछुआ विशेष आवरण वाला होता है और फिर बाकी कछुए जोड़े में आउटपुट होते हैं।


25
+1 बिल्कुल 256 बाइट्स के लिए। जब तक आप इसकी लंबाई आधी नहीं कर सकते, तब तक इसे गोल्फ न दें!
रोहन झुनझुनवाला

मूल रूप से मैं रिक्त स्थान के बारे में नोट करने से चूक गया, मेरे अधिकांश संपादक उन लोगों को बंद करने के लिए तैयार हैं और मैं यह पता नहीं लगा सका कि यह काम क्यों नहीं कर रहा था! पीपीसीजी पर बैच को देखकर हमेशा खुश होते हैं। :)
कैप्टन मैन

24

सी, 131 बाइट्स

i,j;f(n){char _[3*n];memset(_,95,3*n);for(i=n;i--;printf("%*.*s\n%*s/,%.*s,\\%s\n",j+n+1,j+j,_,i,"o"+1-i%2,j+j-2,_,"o"+i%2))j=n-i;}

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

एक फ़ंक्शन को परिभाषित करता है जो कछुओं को प्रिंट करता है।

मुखर स्थान प्राप्त करने और अंडरस्कोर को दोहराने के लिए भारी रूप से प्रिंटफ की चौड़ाई और सटीक स्पेसर का दुरुपयोग करता है। प्रत्येक कछुए को एक printfकॉल का उपयोग करके मुद्रित किया जाता है :

printf("%*.*s\n%*s/,%.*s,\\%s\n",j+n+1,j+j,_,i,"o"+1-i%2,j+j-2,_,"o"+i%2)

मेरे पास एक अलग संस्करण भी है जो व्हॉट्सएप के साथ 144 बाइट हटा दिया गया है:

c,i;f(n){for(i=n;i--;){
    char*p=" _\n o/,_,\\o\n";
    int C[]={i+1,c=n+n-i-i,1,i&~1,i%2,1,1,c-2,1,1,1-i%2,1};
    for(c=0;p[c];)C[c]--?putchar(p[c]):++c;
}}

धिक्कार है, मैं

4
,_,आपके कोड में होने के लिए +1 ।
आर। काप।


12

05AB1E, 45 बाइट्स

Lvð¹y-©>ׄ__y×UXJ,„/,X¨¨„,\J'o®ÉiìëJ}ð®®É-×ì,

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


3
इतने कम होने के लिए मेरा वोट जाता है।
17/17 को

निश्चित नहीं कि अगर G-लूप पहले से ही अगस्त 2016 के संस्करण में था, लेकिन अगर यह था, तो Lvहो सकता है Gऔर दोनों -1 बाइट के लिए yहो सकते हैं N
केविन क्रूजसेन

12

वी , 57, 53 49 बाइट्स

i ³_
/,_,\oÀñHyjí_/___
ëPhjI ñdjí___
òkk$x^PXkk

चूँकि इसमें अनपेक्षित वर्ण हैं, यहाँ हेक्सडंप है:

00000000: 6920 b35f 0a2f 2c5f 2c5c 6f1b c0f1 4879  i ._./,_,\o...Hy
00000010: 6aed 5f2f 5f5f 5f0a eb50 1668 6a49 20f1  j._/___..P.hjI .
00000020: 646a ed5f 5f5f 0af2 6b6b 2478 5e50 586b  dj.___..kk$x^PXk
00000030: 6b                                       k

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

स्पष्टीकरण:

i ³_\n/,_,\o<esc>       "Insert the original turtle with one extra underscore

Àñ                      "Arg1 times:
  Hyj                   "  Go the the beginning of the file, and yank a turtle
     í_/___             "  Extend the lenght of every turtle by two
ëP                      "  Move to the beginning of the file again, and paste the turtle we yanked
  <C-v>hjI              "  Move this turtle one to the right
           ñ            "Stop looping.

dj                      "Delete a turtle (since we have one too many)
  í___                  "Make every turtle shorter (since they are all too long)

ò                       "Recursively:
 kk                     "  Move up two lines
   $x                   "  Delete the last character on this line (an 'o')
     ^P                 "  And paste this 'o' at the beginning of the line
       X                "  Remove one space
        kk              "  Move up two lines again

दिलचस्प इनपुट 0और नीचे के लिए आउटपुट ।
आर। कप

यह कोड भी काम नहीं करता है input > 10। एक साइड नोट पर, मैंने गलती से इसे इनपुट के साथ पूरी तरह से तोड़ दिया 0 41c14। यकीन नहीं होता कि मैंने कोड, या धावक को तोड़ दिया।
ब्रैंडन अंजल्दी

1
@ R.Kap हाँ, मुझे लगता है कि मुझे पता है कि ऐसा क्यों होता है। V मुश्किल से पूर्णांकों को समझने में सक्षम है, इसलिए यह सिर्फ -1एक स्ट्रिंग के रूप में देखता है कि यह दिखावा नहीं कर सकता है एक संख्या है। शुक्र है, मुझे उन लोगों को संभालने की जरूरत नहीं है।
DJMcMayhem

1
@BrandonAnzaldi आह, मैं देख रहा हूँ कि क्यों काम नहीं करता है। मैं इसे एक मिनट में ठीक कर दूंगा। इसके अलावा, दशमलव संख्या के अलावा कुछ भी करने से कुछ अजीब समस्याएं होती हैं।
DJMcMayhem

1
हाँ! शांत समाधान। यह निश्चित रूप से ठीक करने के लिए कुछ सरल होगा। मैं बस बहुत था, बहुत पहले से ही आकस्मिक कीबोर्ड मैश के उत्पादन के साथ मोहित। अग्रणी स्थान कुछ मज़ेदार आउटपुट भी उत्पन्न करते हैं। लगता है जैसे तुम वी काफी अच्छी तरह से घूमते हो!
ब्रैंडन अंजल्दी

11

पर्ल, 92 बाइट्स

91 बाइट्स कोड +1 के लिए -n

आवश्यक -Eकोई अतिरिक्त कीमत पर।

for$i(1..$_){say$"x$_._,$v=_ x(--$i*2),_.$/.$"x(--$_-1),$_%2?o:$"x!!$_,"/,$v,\\",$_%2?"":o}

प्रयोग

perl -nE 'for$i(1..$_){say$"x$_._,$v=_ x(--$i*2),_.$/.$"x(--$_-1),$_%2?o:$"x!!$_,"/,$v,\\",$_%2?"":o}' <<< 3
   __
  /,,\o
  ____
o/,__,\
 ______
/,____,\o

@ दादा को -9 बाइट्स के लिए उनके पुनः काम के लिए धन्यवाद !


1
अच्छा है। एक और संस्करण, एक ही bytecount perl -nE 'for$i(1..$_){say$"x$_._.($v=_ x(($i-1)*2))._.$/.$"x(--$_-1).($_%2?o:$_?$":"")."/,$v,\\".($_%2?"":o)}':। मैंने 100 से कम करने की कोशिश की, लेकिन कपल नहीं ...
दादा

@ दादा धन्यवाद! अद्यतन, बहुत सराहना की!
डोम हेस्टिंग्स 15

10

चेडर , 105 बाइट्स

n->(|>n).map(i->(1-i%2)*"o"+"\\,"+(n-i-1)*"__"+",/"+i%2*"o"+i/2*"  "+"\n"+(n-i)*"__"+(i+1)*" ").vfuse.rev

2
पनीर का उपयोग करने के लिए +1। बाइट्स बचाने के लिए आप शाब्दिक न्यूलाइन का उपयोग कर सकते हैं
डाउनगोट


6

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

m=input()
for i in range(m):r=m-i;b=r%2;h='o';a='__';u=i*a;s=' '*r;print s+u+a+'\n'+s[:b-2]+h*-~-b+"/,"+u+",\\"+b*h

मुझे आपकी गिनती 115 बाइट्स में मिलती है और आप lambda m:for i in r...इसके बजाय एक बाइट बचा सकते हैंinput()
wnnmaw

6

आर , 150 बाइट्स

a=function(x,y=1){d=x-y;t=d%%2;cat(rep(" ",d+1),rep("_",2*y),"\n",rep(" ",d-t),"o"[t],"/,",rep("_",2*y-2),",\\","o"[!t],"\n",sep="");if(y<x)a(x,y+1)}

अधिक सफाई से (एक बाइट जोड़ता है)

a=function(x,y=1){
     d=x-y
     t=d%%2
     cat(rep(" ",d+1),rep("_",2*y),"\n",rep(" ",d-t),"o"[t],"/,",rep("_",2*y-2),",\\","o"[!t],"\n",sep="")
     if(y<x)a(x,y+1)
}

मूल संरचना पुनरावर्ती रूप से खुद को बुलाती है - खुद को अंतिम संख्या और वर्तमान स्तर पर दोनों को बुलाती है। Y = 1 के लिए एक डिफ़ॉल्ट के साथ शुरू होता है, इसलिए इसे प्रारंभिक कॉल के लिए केवल एक चर की आवश्यकता होती है। दो मूल्यों को जल्दी से परिभाषित करता है जो अक्सर उपयोग किए जाते हैं। फिर यह हर चीज को कई बार दोहराता है।

"o"[t],"o"[!t]

इनमें से प्रत्येक का तात्पर्य यह है कि सिर को दाएं या बाएं जोड़ना है या उचित रूप से रखना है।


#मार्कडाउन एडिटर में शीर्षक से पहले इसका उपयोग अन्य उत्तरों की तरह प्रारूपित करने के लिए करें।
21

माफी - तो संपादित
user5957401

6

TSQL, 189 बाइट्स

अब इनपुट स्वीकृति के साथ - @PatrickRoberts को धन्यवाद

DECLARE @i INT=##i##,@ INT=0a:PRINT SPACE(@i-@)+REPLICATE('__',@+1)+'
'+SPACE((@i-@-1)/2*2)+IIF((@i-@-1)%2=1,'o/,','/,')+REPLICATE('__',@)+IIF((@i-@-1)%2=0,',\o',',\')SET
@+=1IF @i>@ GOTO a

बेला



@PatrickRoberts धन्यवाद, पता नहीं था कि एक, कि sql सर्वर 2016 है?
t-clausen.dk

@ t-clausen.dk यह इनपुट तंत्र डेटा के लिए विशिष्ट है। साइट के लिए, यह SQL के किसी भी संस्करण की मानक विशेषता नहीं है।
ब्राडकास्ट

@ BradC आप बिल्कुल सही हैं, यह किसी प्रकार की प्रोग्रामिंग भाषा है, और अंत में एक पैरामीटर इनपुट जोड़ने में सक्षम होने के लिए बहुत अच्छा है। मैं इस सब के बारे में भूल गया, और मैं भविष्य में इसका उपयोग अतिरिक्त बाइट्स का भुगतान करने पर विचार
करूँगा

6

सी, 328 238 234 215 बाइट्स:

B;M(w,j,R){j=w;if(j<=B){char b[j*2-1],k[j*2+1];b[j*2-2]=k[j*2]=0;memset(b,95,j*2-2);memset(k,95,j*2);R=(B+1-j)%2;printf("%*s\n%*s/,%s,\\%s\n",j*2+B+1-j,k,B-j,R?"":"o",b,R?"o":"");j++;M(j);}}main(){scanf("%d",&B);M(1);}

बहुत सारे स्ट्रिंग फॉर्मेटिंग और बिलिन memsetफ़ंक्शन का उपयोग करके एक पुनरावर्ती कार्यान्वयन । कोशिश करूंगा और गोल्फ को समय के साथ-साथ जितना मैं कर सकता हूं।

सी यह ऑनलाइन! (Ideone)


अजीब तरह से, तीसरे और चौथे कछुए Ideone पर टूटे हुए दिखाई देते हैं ...
क्वेंटिन

@ क्वेंटिन दरअसल, वह आइडोन नहीं है। यह मेरे कार्यक्रम की गलती है। किसी कारण से, मिनट इनपुट निकट 17और परे, तर्क किसी कारण से टूट जाता है, और इसलिए, कछुए करते हैं। मैं वर्तमान में यह पता लगाने की कोशिश कर रहा हूं कि क्या गलत है।
आर। काप

अच्छा लगा! ध्यान दें कि आप सबसे अधिक वर्ण शाब्दिक ( 'c') को उनके ASCII कोड द्वारा प्रत्येक वर्ण को अलग करने के लिए बदल सकते हैं :)
Quentin

@ क्वेंटिन नाइस? ... यह बहुत अच्छी तरह से काम नहीं करता है। वह अच्छा कैसे है?
आर। काप।

ओह! मैंने आइडॉन पर वापस जाँच की और यह तय लग रहा था, लेकिन ऐसा इसलिए है क्योंकि वहाँ कम कछुए हैं ... हज़ सुबह।
क्वेंटिन

4

जावा 1.7, 238 बाइट्स

दो कार्यों का एक सेट: पहला इनपुट (कछुओं का #) पर पुनरावृत्ति करता है, दूसरा दोहराए जाने वाले वर्णों के अनुक्रम के निर्माण में सुविधा प्रदान करता है (अर्थात प्रमुख स्थान, कछुओं के पीछे और पेट)।

String f(int n){String s="";for(int i=-1,x=-2;++i<n;){int m=(i+n)%2;s+=r(' ',n-i)+r('_',i*2+2)+"\n"+r(' ',n-i-(m==1?1:2))+(m==0?"o":"")+"/,"+r('_',x+=2)+",\\"+(m==1?"o":"")+"\n";}return s;}String r(char c,int n){return n>0?c+r(c,--n):"";}

Ungolfed:

class C {
    public static void main(String[] a) {
        System.out.println(new T().f(1));
        System.out.println(new T().f(2));
        System.out.println(new T().f(3));
        System.out.println(new T().f(4));
        System.out.println(new T().f(5));
    }

    static class T {

        String f(int n) {
            String s = "";
            for (int i = -1, x = 0; ++i < n; x+=2) {
                int m = (i + n) % 2;
                s += r(' ', n - i) + r('_', i * 2 + 2) + "\n" + r(' ', n - i - (m == 1 ? 1 : 2)) + (m == 0 ? "o" : "") + "/," + r('_', x) + ",\\" + (m == 1 ? "o" : "") + "\n";
            }
            return s;
        }

        String r(char c, int n) {
            return n > 0 ? c + r(c, --n) : "";
        }

    }

}

चलाओ! (Ideone)

मैंने मान लिया है कि वर्ग परिभाषा को बाइट की गिनती से बाहर करना ठीक है।

मैं लूप के पुनरावृत्ति क्रम (नीचे कछुए से निर्माण) और / या कुछ अन्य उत्तरों की तरह पूरी तरह से पुनरावर्ती जा कर इसे थोड़ा आगे बढ़ा सकता हूं।

स्वयं पर ध्यान दें: जावा में वास्तव में एन अक्षर दोहराने के लिए एक अंतर्निहित शॉर्टहैंड का अभाव है ...



4

अजगर, 137 120 113 110 बाइट्स

m=input()
for i in range(m):p=m-i;b=p%2;print' '*p+'__'*-~i+'\n'+' '*(p-2+b)+'o'*-~-b+'/,'+'__'*i+',\\'+'o'*b

Ungolfed:

m=input()
for i in range(m):
  p=m-i                              // Abstract m-i for a few bytes
  b=p%2                              // Determines every other turtle from bottom

  print' '*p + '__'*-~i + '\n' +    // The top of the turtle
       ' '*(p-2+b) +                // Leading spaces (-1 for every other turtle)
       '0'*-~-b +                   // Add a leading head to every other turtle
       '/,'+'__'*i +                // Body of the turtle
       ',\\'+'0'*b                  // Add a trailing head to every other turtle

सिर सख्त थे।


इसके बजाय ('o','')[b], आप 'o'*(1-b)(और के 'o'*bलिए ('o','')[1-b]) कर सकते हैं ।
Mego

@mego ओह ठीक है, मैंने इसे एक खाली चार में बदल दिया, जो काम करता है। धन्यवाद!
greyShift 14

'0'*-~-1से कम है'0'*(1-b)
विनाशकारी नींबू

और - ~ i इससे छोटा है (i + 1)
डिस्ट्रक्टिबल लेमन

3

एफ #, 218 207 202 196 187 बाइट्स।

वैरिएबल को इनलाइन करके अधिकांश बाइट्स को शेव किया

let R=String.replicate
let t n=let rec L i r k=if i<n then L(i+1)(R(k+i%2+1)" "+R((n-i)*2)"_"+"\n"+R k" "+R(i%2)"o"+"/,"+R(n*2-i*2-2)"_"+",\\"+R(1-i%2)"o"+"\n"+r)(k+i%2*2)else r in L 0""0

इस बेशर्म जवाब से तर्क बेशर्मी से चुराया जाता है

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


3

सीजेएम , 88 बाइट्स

ri_[S\_'_*_+N+\O\"/,"\('_*_++','\+'o]\({_[(S+\(2>\(S\+)'O^c+\(-2<\(\('o\{;O}&\;]}*]-1%N*

पहले सबसे बड़ा कछुआ बनाता है (क्योंकि अन्यथा हर दूसरे कछुए पर क्या खड़ा होगा?), फिर धीरे-धीरे आकार कम कर देता है जब तक कि सबसे छोटा एक नहीं बनता। 0 से बड़े किसी भी पूर्णांक के लिए काम करता है।

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


2

पायथन 2.7, 255 238 236 बाइट्स

भले ही यह अन्य पायथन 2 समाधानों में से दोनों को खो देता है, मुझे मेरा पुनरावर्ती दृष्टिकोण पसंद आया:

def r(s,p):
 for(a,b)in p:s=a.join(s.split(b))
 return s
def t(w):
 i='_'*2*w;s='\n __%s\n/,%s,\o'%(i,i)
 if w:s=r(t(w-1),[('\n ','\n'),('Z/',' /'),('\\Z\n','\\\n'),(' /','o/'),('\\','\\o'),('o','Z')])+s
 return s
print t(input()-1)[1:]

edit1: कुछ प्रतिस्थापन को समाप्त करके कुछ बाइट्स गिराए

एडिट 2: अंडरस्कोर को एक वेरिएबल के रूप में सेव करके 2 बाइट्स शेव करें



1

पायथन 2.7, 139 114 113 130 बाइट्स

मुझे इगुआनोडन का पुनरावर्ती दृष्टिकोण भी पसंद आया, इसलिए यहां थोड़ा कम प्रयास किया गया।

def t(n):
 if n>1:t(n-1)
 a=i-n;b=(a+1)%2;print' '*(a+1)+'__'*n+'\n'+' '*(a-1+b)+'o'*(not b)+'/,'+'__'*(n-1)+',\\'+'o'*b
i=input()
t(i)

संपादित करें

एक शक्तिशाली 25 26 9 बाइट्स विनाशकारी तरबूज से कुछ शानदार युक्तियों के कारण गोल्फ हो गया। बहुत धन्यवाद! लगता है कि यह अब तक का सबसे छोटा अजगर उत्तर हो सकता है :-)

def t(n):
 if n>1:t(n-1)
 a=i-n;b=-~a%2;print' '*-~a+'__'*n+'\n'+' '*(a-1+b)+'o'*-~-b+'/,'+'__'*~-n+',\\'+'o'*b
i=input()
t(i)

(a + 1) को छोटा किया जा सकता है - ~ a, और n-1 को छोटा किया जा सकता है ~ -n, और b हमेशा 0 या 1 होता है, इसलिए b को छोटा नहीं किया जा सकता है - ~ -b, और आप समाप्त कर सकते हैं i=input();t(i)भाग, क्योंकि आपको केवल एक फ़ंक्शन की अनुमति है।
विनाशकारी नींबू

कुछ महान संकेत @Destructible के लिए धन्यवाद। यह भी देखा गया है कि जैसे बी हमेशा 1 या 0 होता है तब 1-बी काम करता है और 1 और बाइट खो देता है।
एलपेड्रो

सिवाय इसके कि परिजनों की आवश्यकता होगी, क्योंकि * में बाइनरी की तुलना में अधिक प्राथमिकता है - लेकिन एकात्मक - और ~ की तुलना में अधिक प्राथमिकता है *
विनाशकारी नींबू

अब जब मैं इसके बारे में सोचता हूं, यदि n हमेशा 0 है, तो यदि n> 1 को ~ -n (n-1) तक छोटा किया जा सकता है, जो प्रमुख स्थान को काट देता है। इसके अलावा, फिर से, (1-बी) को छोटा किया जा सकता है ~ ~-बी विद नो पारेंस
डिस्ट्रक्टिबल लेमन

यह सिर्फ बेहतर और बेहतर हो जाता है! मैं इसके लिए बहुत नया हूँ और अधिक पढ़ने योग्य कोड लिखने के लिए उपयोग किया जाता है ताकि आपके संकेत बहुत सराहे
जायें

1

पावरशेल , 105 100 97 87 85 84 बाइट्स

-21 बाइट्स का धन्यवाद mazzy, पागल आदमी

"$args"..1|%{' '*$_--+($m='__'*$i++)+'__'
' '*($_-$_%2)+("/,$m,\o","o/,$m,\")[$_%2]}

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

स्पष्ट रूप $_--से ($_+1)कई बाइट्स को बचाने के लिए दोहराया ब्लॉकों का उपयोग करने से बचने के लिए चर का उपयोग करके बदलाव करता है । यह एकल तर्क को एक स्ट्रिंग में भी परिवर्तित करता है जिसे तब एक इंट में डाला जाता है जब एक सीमा में कछुए की संख्या के माध्यम से पुनरावृति करने के लिए उपयोग किया जाता है। सबसे बड़ी चाल अब कछुए के अंतर के 2 के स्तर को घटाकर केवल दूसरी पंक्ति को बढ़ाती है $_%2(यानी 0 यदि भी, तो 1 विषम) तो वर्तमान रो_काउंट से।

अन्यथा, यह उचित _और मायने रखने के लिए बहुत सारे सूचकांक गणित है , जिसमें एक लैग काउंटर भी शामिल है $i++, और अब केवल एक सूची सूची को सही पक्ष पर रखना है।


@ माज़ी में अनुगामी स्थान नहीं हो सकते लेकिन मैंने इसे 5 बाइट्स के लिए संशोधित किया, धन्यवाद
Veskah

1
मुझे क्षमा करें :) 85 बाइट्स
mazzy

@ माज़ी डबल ख़तरा, और भी अधिक काम में। अच्छा सामान
वीस्काह

1
यह सब :) 84 बाइट्स
mazzy

0

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

कोड

T=(i,h=0,p=1,R="repeat")=>(i>1?T(i-1,~h,p+1)+"\n":"")+" "[R](p)+'--'[R](i)+"\n"+" "[R](p-1+h)+(h?"o":"")+"/,"+'__'[R](i-1)+",\\"+(!h?"o":"")

परीक्षा

console.log(T(5));

     --
    /,,\o
    ----
  o/,__,\
   ------
  /,____,\o
  --------
o/,______,\
 ----------
/,________,\o

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