একটি স্পিকি বাক্স তৈরি করুন


31

দুটি ধনাত্মক পূর্ণসংখ্যা, ডাব্লু এবং এইচ দেওয়া হয়েছে, একটি ASCII- আর্ট বাক্স আউটপুট করুন যার বর্ডার উপরের এবং নীচের প্রান্তে ডাব্লু "স্পাইক" দিয়ে স্ল্যাশ ( /এবং \) দিয়ে তৈরি করা হয়েছে , এবং বাম এবং ডান প্রান্তে এইচ "স্পাইকস"। বাক্সটির অভ্যন্তরটি শূন্যস্থান দিয়ে ভরা।

একটি "স্পাইক" হ'ল দুটি তীরচিহ্নগুলি একত্র হয়ে তীরের আকার তৈরি করে:

/\    \/

/      \
\      /

সুতরাং আউটপুট W = 4, H = 3হবে

/\/\/\/\
\      /
/      \
\      /
/      \
\/\/\/\/

উপরের দিকে 4 টি স্পাইক যেমন নীচের দিকে ইশারা করছে, নীচের দিকে 4 টি বাম দিকে নির্দেশ করছে বাম দিকে 3 এবং ডানদিকে নির্দেশিত ডানদিকে 3 টি রয়েছে।

এখানে কিছু অন্যান্য ইনপুট / আউটপুট জোড়া রয়েছে:

W H
[spiky slash box]

1 1
/\
\/

1 2
/\
\/
/\
\/

2 1
/\/\
\/\/

2 2
/\/\
\  /
/  \
\/\/

1 3
/\
\/
/\
\/
/\
\/

3 1
/\/\/\
\/\/\/

2 3
/\/\
\  /
/  \
\  /
/  \
\/\/

3 2
/\/\/\
\    /
/    \
\/\/\/

10 1
/\/\/\/\/\/\/\/\/\/\
\/\/\/\/\/\/\/\/\/\/

10 2
/\/\/\/\/\/\/\/\/\/\
\                  /
/                  \
\/\/\/\/\/\/\/\/\/\/

4 5
/\/\/\/\
\      /
/      \
\      /
/      \
\      /
/      \
\      /
/      \
\/\/\/\/

আউটপুটে কোনও লাইনের নেতৃস্থানীয় বা পিছনের স্থান থাকা উচিত নয়। Optionচ্ছিকভাবে একটি ট্রেলিং নিউলাইন থাকতে পারে।

বাইটের মধ্যে সংক্ষিপ্ততম কোডটি জয়ী।


যে কেউ জাভাস্ক্রিপ্টস এর জন্য স্ট্যাক স্নিপেট তৈরি করতে পারেন?
ফ্যানটাসি

উত্তর:


15

কাঠকয়লা , 9 বাইট

BײNײN/\

এটি অনলাইন চেষ্টা করুন!

ব্যাখ্যা

B           Box
  ײN       Next input as number * 2
      ײN   Next input as number * 2
          /\ With border "/\"

3
অবশ্যই চারকোলের 'ড্র
বেনজিন

1
@ বেঞ্জেন এটি কিছুটা ভাগ্যবান যে তিনি সম্প্রতি বাক্সের চারপাশে একটি নির্বিচারে স্ট্রিং আঁকার দক্ষতা যুক্ত করেছিলেন, তবে এর আগেও কোডগলফ.স্ট্যাকেক্সেঞ্জিং.com
নীল

1
@ নীল সম্প্রতি অপেক্ষা করছেন? কখন? (আমি কি কাঠকয়লা কম জানি যে আপনাকে ধন্যবাদ? হাহা)
ASCII- কেবল

@ এএসসিআইআই-কেবল আমার খারাপ! কার্সার অবস্থানকে বদলে দেওয়ার কারণে আমি বিভ্রান্ত হয়ে পড়েছি। (যে পরিবর্তনটি স্বেচ্ছাচারী সীমান্তের স্ট্রিংটি প্রবর্তন করেছিল সেটি প্রায় এক বছর আগে ca904b0 ছিল))
নীল

@ বেঞ্জিন বাক্সটি তৈরি না করে এটি এখনও মাত্র 13 বাইট: F²«↷P…\/N»‖M¬(উচ্চতা এবং প্রস্থের ক্রমে ইনপুট নেয়)।
নীল

11

এমএটিএল , 18 বাইট

'\/',iE:]!+)O6Lt&(

এমএটিএল অনলাইন এ চেষ্টা করুন !

ব্যাখ্যা

ইনপুট বিবেচনা করুন W = 4, H = 3। কোড সারি ভেক্টর তৈরী করে [1 2 3 4 5 6 7 8](থেকে পরিসীমা 1থেকে 2*W) এবং [1 2 3 4 5 6](থেকে পরিসীমা 1থেকে 2*H)। পরে ট্রান্সপোস করা এবং প্রাক্তনকে সম্প্রচারের সাথে যুক্ত করা ম্যাট্রিক্স দেয়

2  3  4  5  6  7  8  9
3  4  5  6  7  8  9 10
4  5  6  7  8  9 10 11
5  6  7  8  9 10 11 12
6  7  8  9 10 11 12 13
7  8  9 10 11 12 13 14

স্ট্রিংয়ের মধ্যে মডিউলার ইনডেক্সিং \/ম্যাট্রিক্স সীমানায় কাঙ্ক্ষিত ফলাফল উত্পন্ন করে:

/\/\/\/\
\/\/\/\/
/\/\/\/\
\/\/\/\/
/\/\/\/\
\/\/\/\/

সীমানাবিহীন মানগুলি মুছে ফেলার জন্য, আমরা সেগুলিতে সেট করি 0(যখন এটি চর হিসাবে ব্যাখ্যা করলে এটি স্থান হিসাবে প্রদর্শিত হয়):

/\/\/\/\
\      /
/      \
\      /
/      \
\/\/\/\/

মন্তব্য করা কোড:

'\/'    % Push this string. Will be indexed into
,       % Do twice
  i     %   Input a number
  E     %   Multiply by 2
  :     %   Range 
]       % End
!       % Transpose
+       % Add
)       % Index
O       % Push 0
6L      % Push [2 -1+1j]. As an index, this means 2:end
t       % Duplicate
&(      % Write 0 into the center rectangle. Implicit display


7

হাস্কেল , 90 88 87 82 বাইট

1 6 বাইট সংরক্ষিত লিন ধন্যবাদ

a#b=[1..a]>>b
x!y|i<-(x-1)#"  "=x#"/\\":(y-1)#['\\':i++"/",'/':i++"\\"]++[x#"\\/"]

এটি অনলাইন চেষ্টা করুন!

এখনও সত্যিই দীর্ঘ অনুভূত হয়, আমি কী করতে পারি তা দেখতে পাচ্ছি।


সমস্ত উপস্থিতি সংজ্ঞা a#b=[a..b]এবং প্রতিস্থাপন করা একটি বাইট সংরক্ষণ করে:a#b=[a..b];x!y|i<-2#x>>" "=(1#x>>"/\\"):(2#y>>['\\':i++"/",'/':i++"\\"])++[1#x>>"\\/"]
লিন

ওহ, a#b=[1..a]>>b;x!y|i<-(x-1)#" "=x#"/\\":(y-1)#['\\':i++"/",'/':i++"\\"]++[x#"\\/"]আসলে 6
লিন

@ লিন ধন্যবাদ! আপনি সত্যিই ইদানীং আমার ckিল ধরছেন।
গম উইজার্ড

@ লিন আমি এটি কাজ করতে পেরেছি তবে অন্য বাইটের দামে।
গম উইজার্ড

5

05 এ বি 1 ই , 14 বাইট

„/\|∍`S¦`).B∞∊

এটি অনলাইন চেষ্টা করুন!

ব্যাখ্যা

„/\|∍`S¦`).B∞∊   Arguments: x, y
„/\              Push the string "/\"
   |             Push inputs as array: [x,y]
    ∍            Push the string extended/shortened to those lengths
     `           Flatten
      S          Push seperate chars of second string
       ¦`        Remove first char and flatten again
         )       Wrap stack to an array
          .B     Squarify
            ∞∊   Mirror on both axes

এটি কেবল উপরের বাম কোণে, x অক্ষর প্রশস্ত এবং y অক্ষর লম্বা করে। এটি তখন উভয় অক্ষতে এটি আয়না করে:

x=3, y=2

/\/|
\  |
---+

4

জাভাস্ক্রিপ্ট (ES6), 84 বাইট

বাক্য গঠন সিনট্যাক্সে ইনপুট নেয় (w)(h)

w=>h=>'/\\'[R='repeat'](w)+`
${`\\${p='  '[R](w-1)}/
/${p}\\
`[R](h-1)}`+'\\/'[R](w)

ডেমো


3

সুইফট 3 , 166 বাইট

func f(a:Int,b:Int){let k=String.init(repeating:count:),n="\n";var r="\\"+k("  ",a-1)+"/";print(k("/\\",a)+n+k(r+n+String(r.characters.reversed())+n,b-1)+k("\\/",a))}

সম্পূর্ণ পরীক্ষার স্যুট।

দুর্ভাগ্যক্রমে (175 বাইট) ক্লোজার সংস্করণটি আরও দীর্ঘ is

var g:(Int,Int)->String={let k=String.init(repeating:count:),n="\n";var r="\\"+k("  ",$0-1)+"/";return k("/\\",$0)+n+k(r+n+String(r.characters.reversed())+n,$1-1)+k("\\/",$0)}

ক্লোজার সংস্করণ সহ টেস্ট স্যুট।


3

রেটিনা , 77 73 বাইট

\d+
$*
 1+|1(?=1* (1+))
$1¶
1
/\
.((..)*.)
/$1¶$1/
¶$

(?<=¶.+).(?=.+¶)
 

এটি অনলাইন চেষ্টা করুন! লিঙ্কে পরীক্ষার কেস অন্তর্ভুক্ত রয়েছে। ফর্ম্যাটে ইনপুট নেয় <height> <width>। ব্যাখ্যা:

\d+
$*

ইনপুটগুলিকে অচেনা রূপান্তর করুন।

 1+|1(?=1* (1+))
$1¶

ইনপুটগুলি গুণিত করুন, তবে একটি নতুন লাইন যুক্ত করুন যাতে ফলাফলটি একটি আয়তক্ষেত্র হয়।

1
/\

চিটচিটে শীর্ষ তৈরি করুন।

.((..)*.)
/$1¶$1/

প্রতিটি কাঁচা সারিটি সদৃশ করুন, তবে স্পাইকগুলির সাথে দ্বিতীয় সারিতে অফসেট থাকবে।

¶$

ট্রেলিং নতুনলাইনগুলি মুছুন।

(?<=¶.+).(?=.+¶)
 

বাক্সের অভ্যন্তরটি মুছুন। (শেষ লাইনে নোট স্পেস।)


3

এক্সেল, 95 বাইট

=REPT("/\",A1)&"
"&REPT("\"&REPT(" ",2*A1-2)&"/
/"&REPT(" ",2*A1-2)&"\
",B1-1)&REPT("\/",A1)

3

এপিএল (ডায়ালগ) , 41 39 বাইট

একটি তালিকা জন্য অনুরোধ জানায় [H,W]

'\'@2@1⊢¯1⌽@1{⌽⍉⍵,'/\'⍴⍨≢⍵}⍣4''⍴⍨2×⎕-1

এটি অনলাইন চেষ্টা করুন!

⎕-1 ইনপুটের জন্য প্রম্পট (স্মৃতিবিজ: স্টাইলাইজড কনসোল) এবং বিয়োগ 1

 দুই দ্বারা গুণ

''⍴⍨ একটি খালি স্ট্রিং পুনরায় আকার দেওয়ার জন্য এটি ব্যবহার করুন (স্পেস সহ প্যাডগুলি)

 ফলন যে (এটি থেকে পৃথক করে তোলে 4)

{}⍣4 নিম্নলিখিত ফাংশনটি চারবার প্রয়োগ করুন:

≢⍵ যুক্তি (দৈর্ঘ্য) আর্গুমেন্ট

'/\'⍴⍨ cyclically r eshape "/\"যে দৈর্ঘ্যের

⍵, এটি যুক্তির ডানদিকে যুক্ত করুন

⌽⍉ স্থানান্তর এবং আয়না (যেমন 90 turn ঘুর)

¯1⌽1 চক্রাকারে 1 সারির ডানদিকে এক ধাপ ঘোরান

 ফলন যে (এটি থেকে পৃথক করে তোলে 1)

'\'@2@11 প্রধান আইটেমের  2 য় অবস্থানের উপর একটি ব্যাকস্ল্যাশ রাখুন ।


3

সি (জিসিসি) ,170 166 158 155 108 105

ক্লাব্ল্যাঙ্ক ধন্যবাদ -3 বাইট

x,y;f(w,h){for(y=h*=2;y--;puts(""))for(x=w*2;x--;)putchar(!x|x==w*2-1|!y|y==h-1?x&y&1|~x&~y&1?47:92:32);}

এটি অনলাইন চেষ্টা করুন!

আমি মনে করি এটি আরও সোজা সোজা পদ্ধতির সাথে আরও গল্ফ করা যেতে পারে, সময় পেলে আমি কী করতে পারি তা আমি দেখতে পাচ্ছি।

ঠিক আছে আমি সেই কোডটির জন্য বাইটের সংখ্যা হ্রাস করার জন্য অন্য কোনও উপায় খুঁজে পাচ্ছি না।

ব্যাখ্যা: একটি সাধারণ ডাবল লুপ মুদ্রণ বাক্সের চর দ্বারা চারটি।

সীমানা প্রিন্ট করার সময়: যদি x এবং y উভয় স্থানাঙ্ক উভয়ই সমান বা বিজোড় হয় তবে এটি একটি প্রদর্শিত হয় /, অন্যথায়, একটি \প্রদর্শিত হয়

যদি কোনও সীমানা না থাকে তবে পরিবর্তে একটি স্থান অক্ষর প্রদর্শিত হবে


1
puts("")লুপের জন্য প্রথমটিতে স্থান পরিবর্তন করে আপনি আরও 3 বাইট x,y;f(w,h){for(y=h*=2;y--;puts(""))for(x=w*2;x--;)putchar(!x|x==w*2-1|!y|y==h-1?x&y&1|~x&~y&1?47:92:32);}
ছাঁটাই করতে

@ ক্লেব্ল্যাঙ্ক ধন্যবাদ!
স্কটনেট

3

/// , 172 117 বাইট

সুতরাং, কারণ আউটপুট ///গুলি গুলি এবং whitespaceগুলি নিয়ে গঠিত , সেই 2 টি ভাষায় জমা দেওয়া উচিত।

কোড পরে ইনপুট রাখুন W,H আনারি নম্বর হিসাবে রাখার (/// এর জন্য অ্যানারি অনুমোদিত , পরামর্শের জন্য চ্যালেঞ্জার 5 এর জন্য ধন্যবাদ) ( অঙ্কটি উপস্থাপনের জন্য *পৃথক করুন ,) ফর্ম্যাট।

/W/VV//V/\\\///`/\\\\\\\\\\\\\V/,/W>+  V`/`\>+W  !V!``WV>+WV-  V`\
`\W+  V`/
`/W-!V`\
W``\\V`\V>!//!*/+%-%!//*/  //%/

এটি অনলাইন চেষ্টা করুন! (ইনপুট সহ W=4, H=3)


আপনি আনারিতে ইনপুট নিয়ে পার্সিং এড়িয়ে যেতে পারেন ।
এএসওলিং ফল

এছাড়াও, আমি উল্লেখ করা উচিত যে এটি খুব চিত্তাকর্ষক! ভাল করেছ!
ফলটি এএসোলং 2

2

পাইথন ঘ , 87 82 বাইট

সম্পাদনা: সংরক্ষিত 5 ধন্যবাদ বাইট @officialaimm , @ Mr.Xcoder এবং @tsh

def f(a,b,n="\n"):r="\\"+"  "*~-a+"/";print("/\\"*a+n+(r+n+r[::-1]+n)*~-b+"\\/"*a)

এটি অনলাইন চেষ্টা করুন!



আপনি যদি পাইথন 3 এ রাখতে চান তবে এটি -2 বাইটের জন্য *(b-1)হতে পারে *~-b
মিঃ এক্সকোডার

2
@officialaimm কেন " "*2*~-a? শুধু "__"*~-a
tsh

@ স্প হ্যাঁ, আপনি ঠিক বলেছেন ... হাহা বুঝতে পারেন নি ...
অফিসিয়ালাইম

@ আফিসিয়ালাইম এটি পাইথন 3 রাখবে, তবে মিস্টার এক্সকোডার এবং টিএসএর কারণে কিছু বাইট সংরক্ষণ করেছিল
হালওয়ার্ড হুমেল

2

জে, 48 বাইট

' '&((<,~<<0 _1)})@(+:@[$(1&|.,:])@('\/'$~+:)@])

ungolfed

' '&((< ,~ <<0 _1)}) @ (+:@[ $ (1&|. ,: ])@('\/' $~ +:)@])

ব্যাখ্যা

                       (+:@[ $ (1&|. ,: ])@('\/' $~ +:)@])    creates box, but interior filled with slashes
                                           ('\/' $~ +:)@]       take right arg, W, doubles it, then fills that
                                          @                       many characters with '\/' repeating
                               (1&|. ,: ])                      stacks (,:) the above on top of itself rotated 
                                                                  by one char, producing top and bottom spikes
                              $                                 reshape to..
                       (+:@[                                    double the length of the left arg, height
                                                                  this creates the sides, as well as a filled interior
                     @                                    
' '&((< ,~ <<0 _1)})                                          removes slashes from interior by using the complement               
                                                                form of amend }.  ie, replace everything but the first
                                                                and last row and first and last col with a space

এটি অনলাইন চেষ্টা করুন!


1
33 বাইট ' '(<,~<<0 _1)}'\/'{~=/&(2|i.)&+:। সংশোধন এখানে মহান।
মাইল

ওহ, খুব সুন্দর উন্নতি
জোনা

1
'/\ '{~2(<,~<<0 _1)}2|+/&i.&+:কিছু রিফ্যাক্টরিং সহ 30 বাইট
মাইল মাইল


2

হাস্কেল , ৮৪ 79 বাইট

w%h=[[last$"/\\"!!mod(x+y)2:[' '|x>1,y>1,x<2*w,y<2*h]|x<-[1..2*w]]|y<-[1..2*h]]

এটি অনলাইন চেষ্টা করুন! ব্যবহারের উদাহরণ: 3%6লাইনের একটি তালিকা দেয়। mapM putStrLn $ 3%6বাক্সটি সুন্দর-মুদ্রণের জন্য ব্যবহার করুন ।



1
@ ওয়েট উইজার্ড আপনি সেখানে যান;)
লাইকোনি

2

জাভা 8, 141 বাইট

প্রস্থ থেকে উচ্চতা পর্যন্ত আউটপুট পর্যন্ত একটি ত্রিযুক্ত ল্যাম্বদা।

w->h->{String f="/",b="\\",t=f,o=b,p="";char i=1;for(;i++<w;t+=b+f,o+=f+b)p+="  ";t+=b;o+=f;for(i=10;--h>0;)t+=i+b+p+f+i+f+p+b;return t+i+o;}

এটি অনলাইন চেষ্টা করুন (না, return t+i+o;উদ্দেশ্যমূলক ছিল না)

অবহেলিত ল্যাম্বদা

w ->
    h -> {
        String
            f = "/",
            b = "\\",
            t = f,
            o = b,
            p = ""
        ;
        char i = 1;
        for (; i++ < w; t += b + f, o += f + b)
            p += "  ";
        t += b;
        o += f;
        for (i = 10; --h > 0; )
            t += i + b + p + f + i + f + p + b;
        return t + i + o;
    }

charপ্রস্থের ইনপুট পর্যন্ত গণনা করতে একটি ব্যবহার করা হয় বলে এই সমাধানটি ইনপুট আকারের বিষয়ে নাটকীয়ভাবে পিক । ভাগ্যক্রমে, অ্যালগরিদমটি যথেষ্ট খারাপ যে এই আকারগুলির প্রোগ্রামের সমাপ্তি সম্ভবত ইতিমধ্যে একটি সমস্যা। আমি charলুপ সূচকটি ব্যবহার করতে পছন্দ করেছি যাতে এটির জন্য পরে সস্তার একটি উপন্যাস হিসাবে পুনরায় ব্যবহার করতে পারি '\n'


2

এসওজিএল ভি0.12 , 22 21 13 বাইট

/\”m;HΙ»mč+╬¡

এখানে চেষ্টা করুন!(স্ট্যাক উভয় ইনপুট তাই আশা করে ..(এবং" কোনও স্ট্রিং স্পষ্টভাবে শুরু করা হয়নি) - সহজেই ব্যবহারের জন্য দু'বার সংখ্যার ইনপুট যুক্ত করা হবে)

ব্যাখ্যা:

/\”            push "/\"
   m           mold to the 1st inputs length
    ;          get the other input ontop of stack
     H         decrease it
      Ι        push the last string - "/\"
       »       rotate it right - convert to "\/"
        m      mold "\/" to the length of 2nd input - 1
         č     chop into characters
          +    prepend the 1st molded string to the character array of the 2nd
           έ  quad-palindromize

>: ডি এটি এখানে কাঠকয়াল মারছে না
ASCII- কেবল

@ এএসসিআইআই-কারণ কেবল এই কাঠকয়ালের একটি অন্তর্নির্মিত রয়েছে: পি (এবং যেভাবেই হোক জটিল ও দীর্ঘ চ্যালেঞ্জের জন্য এসওজিএলগুলি তৈরি করা হয়েছে)
জাজিমা

1

গণিত, 87 বাইট

Table[Which[1<i<2#2&&1<j<2#," ",OddQ[i+j],"\\",1>0,"/"],{i,2#2},{j,2#}]~Riffle~"
"<>""&

ম্যাথিক্সে এটি ব্যবহার করে দেখুন (এটি কোনও কারণে বেশিরভাগ লাইনের শুরুতে অতিরিক্ত স্থানগুলি মুদ্রণ করে) বা উল্ফ্রাম স্যান্ডবক্সে ! ইনপুট হিসাবে দুটি পূর্ণসংখ্যার গ্রহণ করে।

এটি মোটামুটি নিষ্পাপ সমাধান, তবে আমি যে চতুর জিনিস চেষ্টা করেছি তার সবকটিতেই আরও বেশি বাইট ছিল। প্রায় কাজ করে এমন কিছু

ArrayPad[Array[" "&,2#-2],1,{{"/",s="\\"},{s,"/"}}]~Riffle~"\n"<>""&

উভয় মাত্রা 1 হলে ব্যর্থ হয় ব্যতীত (ইনপুটটি মাত্রাগুলি সহ একটি তালিকা থাকে)।





1

জে , 39 বাইট

(' \/'{~=/&(2&|)(*>:)~0=*/&(*|.))&i.&+:

এটি অনলাইন চেষ্টা করুন!

heightএলএইচএস এবং widthআরএইচএস হিসাবে দুটি যুক্তি গ্রহণ করে ।


যথারীতি দুর্দান্ত কাজ। আকর্ষণীয় পদ্ধতিরও।
জোনা

@ জোনাঃ না, আপনার ধারণাটি সংশোধন ব্যবহার করে আরও ভাল। যদি আমার অর্ধেকের সাথে একত্রিত হয় ...
মাইল

1

ভিবিএ (এক্সেল), 161 বাইট

Sub a()
c=[A2]*2
r=[B2]*2
For i=1To r
For j=1To c
b=IIf(i=1 Or j=1 Or i=r Or j=c,IIf((i+j) Mod 2,"\","/")," ")
d=d & b
Next
d=d & vbCr
Next
Debug.Print d
End Sub

গল্ফড সাব (139 বাইটস):Sub b c=[2*A1] r=[2*B1] For i=1To r For j=1To c Debug.?IIf(i=1Or j=1Or i=r Or j=c,IIf((i + j)Mod 2,"\","/")," "); Next Debug.? Next End Sub
টেলর স্কট

উপরের বেনামে তাত্ক্ষণিক উইন্ডো ফাংশন সংস্করণ (113 বাইট):c=[2*A1]:r=[2*B1]:For i=1To r:For j=1To c:?IIf(i=1Or j=1Or i=r Or j=c,IIf((i + j)Mod 2,"\","/")," ");:Next:?:Next
টেলর স্কট

1

আর, 160 বাইট 152 বাইট

p=function(x,n){paste(rep(x,n),collapse='')}
function(w,h){f=p(' ',w*2-2)
cat(paste0(p('/\\',w),'\n',p(paste0('\\',f,'/\n/',f,'\\\n'),h-1),p('\\/',w)))}

এটি অনলাইন চেষ্টা করুন!

8 বাইট বন্ধ শেভ করার জন্য BLT ধন্যবাদ।


আপনি কি কখনও sফাংশন ব্যবহার করেন ?
বিএলটি

স্পাইকি বাক্সটি তৈরি করার জন্য আপনি যে কলটিটি বলছেন তা হল
চিহ্নিত করুন

1
বুঝেছি. আপনি হোয়াইটস্পেস এবং s=বিটটি সরিয়ে ফেললে আপনি 152 বাইটে নামতে পারবেন । বেনামে ফাংশন অনুমোদিত।
বিএলটি

আননের ফাংশনগুলি অনুমোদিত তা জেনে রাখা ভাল
চিহ্নিত করুন

0

ডিসি , 123 বাইট

?1-sesf[/\]su[lfsh[lunlh1-dsh0<q]dsqx]dsrx[[
\]P[lf2*2-st[32Plt1-dst0<z]dszx]dsmx[/
/]Plmx92Ple1-dse0<l]slle0<l10P[\/]sulrx

এটি সংক্ষিপ্ততম থেকে অনেক দূরে, তবে, যদি কেউ শেষ দুটি লাইন নেয় এবং সেগুলি ঘোরায় pi/2 রেডিয়ানগুলি ঘড়ির কাঁটার দিক দিয়ে "খাড়া" অবস্থানে নিয়ে যায়, তবে এ জাতীয় চেহারাটি টোটেম মেরুর মতো দেখায় ।

দুটি স্পেস-বিভাজিত পূর্ণসংখ্যার হিসাবে ইনপুট নেয়।

এটি অনলাইন চেষ্টা করুন!


1
বর্তমানে এখানে দীর্ঘতম উত্তর। আমি ভেবেছিলাম এটি জাভার কাজ ...
আর কাপ,

চিন্তা করবেন না, এখন জাভা সমাধান রয়েছে এবং এটি আরও দীর্ঘ।
জ্যাকব

0

গণিত, 116 বাইট

(c=Column;o=Table;v=""<>o[" ",2*#-2];w=""<>o["/\\",#];c[{w,c@o[c[{"\\"<>v<>"/","/"<>v<>"\\"}],#2-1],Rotate[w,Pi]}])&

Rotate[w,Pi]সমতূল্য w~Rotate~Pi, যেমন হয় o["/\\",#]থেকে"/\\"~o~#
জনাথন Frech

আমি ইনফিক্স স্বরলিপি জানি এবং আমার যখন সত্যই 1 বাইট দরকার হয় আমি সর্বদা এটি ব্যবহার করি this এই ক্ষেত্রে আমি কেবল এটি ছেড়ে দিতে পারি ... ;-)
J42161217

2
আপনার ইনফিক্স নোটেশন সম্পর্কে জ্ঞান আমি সন্দেহ করি নি; আমি শুধু বাইট গণনা হ্রাস করতে চেয়েছিলাম। আপনি জানেন, গল্ফিং এবং এই জাতীয় চেতনায়।
জোনাথন ফ্রেচ


0

সি # (.নেট কোর) , 188 বাইট

a=>b=>string.Join("\n",new int[2*b].Select((x,i)=>string.Concat(string.Concat(new int[a].Select(y=>i%2==0?"/\\":"\\/")).Select((y,j)=>i>0&i<2*b-1&j>0&j<2*a-1?" ":""+y))))

বাইট গণনা এছাড়াও অন্তর্ভুক্ত:

using System.Linq;

এটি অনলাইন চেষ্টা করুন!

আমি কমান্ড-বাই-কমান্ড ব্যাখ্যা করা শুরু করেছিলাম তবে এটি মাঝপথে বোঝা বন্ধ করে দিয়েছে ... বেসিক সংক্ষেপটি হ'ল সম্পূর্ণ স্পিক বাক্স তৈরি করা এবং তারপরে মাঝখানে ফাঁকা। আমি লিনক ব্যবহারের খাতিরে লিনক ব্যবহার করেছি, সম্ভবত কেবলমাত্র স্ট্যান্ডার্ড পুনরাবৃত্তি ব্যবহার করে ছোট করা যেতে পারে।

এখানে ব্যাখ্যাটির মধ্যম আউট চলছে (প্রথম অভ্যন্তরীণ সর্বাধিক কমান্ড):
প্রথমে, পূর্ণ বাক্সের জন্য সারি তৈরি করুন এবং একটি স্ট্রিংয়ের সাথে সংযুক্ত করুন

string.Concat(new int[a].Select(y => i % 2 == 0 ? "/\\" : "\\/"))

তারপরে প্রতিটি অক্ষর একটি সারিতে পাবেন, এবং যদি এটি বাক্সের বাহ্যরেখা না হয় তবে স্থানের সাথে প্রতিস্থাপন করুন, প্রতিটি সারির জন্য একটি স্ট্রিংয়ে ফিরে তাদের সংযুক্ত করুন

string.Concat(PREVIOUS_STEP.Select((y, j) => i > 0 & i < 2 * b - 1 & j > 0 & j < 2 * a - 1 ? " " : "" + y))

অবশেষে, প্রতিটি সারি পান এবং তাদের সাথে একত্রিত হন নিউলাইনগুলি (সারিগুলির জন্য সংগ্রহ উত্পন্ন করার অন্তর্ভুক্ত)

string.Join("\n", new int[2 * b].Select((x, i) => PREVIOUS_STEP));

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.