সিঁড়ি চ্যালেঞ্জ


20

আপনার কাজটি এই শিল্পের টুকরোটি পুনরায় তৈরি করা:

                        _____
                       |
                       |
                       |
                       |
                  _____| 
                 |
                 |
                 |
                 |
            _____|
           |
           |
           |
           |
      _____|
     |
     |
     |
     |
_____|

উত্তরের অবশ্যই এটি পুনরায় তৈরি করা উচিত এবং ফলস্বরূপ এটি মুদ্রণ করা উচিত। সমস্ত ভাষা মঞ্জুরিপ্রাপ্ত, আর্টের কোনও সরাসরি মুদ্রণ নয়, অবশ্যই কিছু স্তরের কারসাজির প্রয়োজন। উত্তরটি সর্বনিম্ন বাইটস সহ জিতল।

বৃহস্পতিবার 6:30 এএম ইউটিসি বা অন্যদিকে বন্ধ থাকে Clo

মূল জিনিসটি আমার বন্ধু আমাকে দেখিয়েছিল যিনি জাভা দিয়ে এই কাজটি করেছিলেন, তিনি আমাকে উত্স কোডটি দেখাতে অস্বীকার করেছিলেন এবং এখন আমি অন্যান্য ভাষার উজ্জ্বলতায় তাকে চমকে দেব। : ডি

আপনি কোনও বিকল্প চরিত্র ব্যবহার করতে পারবেন না (সহজ করে তোলে?)


বর্তমান নেতা বোর্ড

  1. পাইথ - 28 বাইট - আইস্যাক
  2. সিজেএম - 30 বাইট - রানার 1212
  3. সিজেম - 32 বাইট - মার্টিন বাটনার

সর্বাধিক ভোট: সি - 73 বাইট - পল আর


পাইথের সাথে সিঁড়ি চ্যালেঞ্জ পাস করার জন্য আইসএএচজি মুকুট নেয়। পিপিসিজিতে এ জাতীয় আরও চ্যালেঞ্জের জন্য নজর রাখুন!


1
প্রোগ্রামিং ধাঁধা এবং কোড গল্ফ স্ট্যাক এক্সচেঞ্জে আপনাকে স্বাগতম! এখানে সমস্ত চ্যালেঞ্জগুলির জন্য একটি উদ্দেশ্য বিজয়ী মানদণ্ড প্রয়োজন, নির্ধারিতভাবে সিদ্ধান্ত নিতে যে কোন সমাধানটি জিততে হবে। এটি দেখতে কোনও কোড-গল্ফ প্রশ্নের মতো, যেমন সবচেয়ে সংক্ষিপ্ত কোড জিততে পারে তবে আপনি এটিকে কিছু আলাদা করতে চান সে ক্ষেত্রে আমি আপনাকে এটিকে সম্পাদনা করতে দেব। ধন্যবাদ!
ডুরকনব

1
আহ, দুঃখিত, আমি এটি মিস করেছি। আমি আপনার প্রশ্নে সঠিক ট্যাগটি সম্পাদনা করেছি।
ডুরকনব

13
আমাদের কি 6th ষ্ঠ লাইনে সেই 1 টি অদ্ভুত ট্রেলিং স্পেসটি প্রিন্ট করতে হবে?
অপ্টিমাইজার

4
আরও সাধারণভাবে, পিছনে স্থান অনুমোদিত? আমি কি এটিকে প্রথম লাইনের প্রস্থের একটি আয়তক্ষেত্রে প্যাড করতে পারি?
মার্টিন এন্ডার

8
আমরা কি পেছনের নতুন লাইন পেতে পারি?
TheNumberOne

উত্তর:


4

পাইথ, 29 28

V21++**6/-20N5d*5?d%N5\_<\|N

এখানে চেষ্টা করুন।

@ এক্সনোরের সমাধান থেকে "পাঁচটি স্পেস বা পাঁচটি আন্ডারস্কোর যুক্ত করুন" ট্রিক সহ একটি দুর্দান্ত সোজা সমাধান।


1
আমি আপনাকে ডাব করলাম, স্যার সিঁড়ি চ্যালেঞ্জটি পাস করার জন্য আইসএএচজি।
Therewillbec کافی

... এবং এখন আপনি সিঁড়ি দিয়ে প্রবেশ করতে পারেন
অ্যান্টনি ফ্যাম

22

সি, 86 80 76 75 73 বাইট

c;main(i){for(i=21;i--;c='|')printf("%*s%c\n",i/5*6+5,i%5?"":"_____",c);}

5
সেখানে সর্বদা এমন লোক থাকতে হবে যিনি একটি সি সমাধান পোস্ট করবেন। আপভোট আপনার জন্য
ততক্ষণে

1
আপনি এটি আরও ছোট করতে পারবেনfor(i=25;i--;)
ফেলিক্স বাইটো

1
@ ফেলিক্সবিটো এটি হওয়া উচিত i=26। এগুলি ছাড়াও অতিরিক্ত চরিত্রের জন্য ' 'এটিকে পরিবর্তন করা যেতে পারে 32। এই সমাধানগুলি এই অপ্টিমাইজেশনের পরে আমার সমাধানটি 2 টি অক্ষরের বেশি :(
Allbeert

2
আপনার কাছে অতিরিক্ত পদক্ষেপ রয়েছে বলে মনে হচ্ছে। সেখানে প্রয়োজনীয় আউটপুটে 21 সারি, তাই না 26. আরো কিছু অপ্টিমাইজেশন: main(i){for(i=21;i--;)printf("%*s%c\n",i/5*6+5,i%5?"":"_____",i<20?'|':0);}1. প্রক্রিয়া সহজ দৈর্ঘ্য 2. হিসাবে @Allbeert বলছেন জন্য সূত্র, আপনি ASCII কোড ব্যবহার করতে পারেন ' 'কিন্তু কেন স্টপ হওয়া ASCII 32 যখন হওয়া ASCII 0 করব। """ "
লেভেল রিভার সেন্ট

1
'|'মুদ্রণে দুটি বাইট সংরক্ষণ করার জন্য এটি কীভাবে ? c;main(i){for(i=21;i--;c='|')printf("%*s%c\n",i/5*6+5,i%5?"":"_____",c);}
রানার 1112

11

জাভা, 198 158 156 146 বাইট

এটি সম্ভবত অনেক ছোট করা যেতে পারে। যথারীতি পরামর্শগুলি স্বাগত।

void a(){String a="",b="_____",c=b;for(int i=-1;i<20;b=i%5<1?b.replace(c,"     "):i%5>3?b+" "+c:b)a=b+(++i>19?"":"|")+"\n"+a;System.out.print(a);}

ইন্ডেন্টেড (কিন্ডা):

void a(){
    String a="",b="_____",c=b;
    for(int i=-1;i<20;b=i%5<1?b.replace(c,"     "):i%5>3?b+" "+c:b)
        a=b+(++i>19?"":"|")+"\n"+a;
    System.out.print(a);
}

ধন্যবাদ মার্টিন বাটনার, রেইনবোল্ট এবং জিওবিটস।


1
সত্যি, আপনি যেহেতু এটি জাভা দিয়ে করেছিলেন, আমি মুগ্ধ হয়েছি।
Therewillbecoffee

9

ব্রেইনফাক (1065 বাইট)

এটি সুন্দর নয়, এটি সংক্ষিপ্ত নয় ... তবে আমি পরে অপ্টিমাইজ করব!

++++[->++++++++<]>........................
[->+++<]>-.....>++++++++++.[->+++<]>++....
...................-[->++++<]>.>++++++++++
.[->+++<]>++.......................-[->+++
+<]>.>++++++++++.[->+++<]>++..............
.........-[->++++<]>.>++++++++++.[->+++<]>
++.......................-[->++++<]>.>++++
++++++.[->+++<]>++..................[->+++
<]>-.....[->++++<]>.>++++++++++.[->+++<]>+
+.................-[->++++<]>.>++++++++++.
[->+++<]>++.................-[->++++<]>.>+
+++++++++.[->+++<]>++.................-[->
++++<]>.>++++++++++.[->+++<]>++...........
......-[->++++<]>.>++++++++++.[->+++<]>++.
...........[->+++<]>-.....[->++++<]>.>++++
++++++.[->+++<]>++...........-[->++++<]>.>
++++++++++.[->+++<]>++...........-[->++++<
]>.>++++++++++.[->+++<]>++...........-[->+
+++<]>.>++++++++++.[->+++<]>++...........-
[->++++<]>.>++++++++++.[->+++<]>++......[-
>+++<]>-.....[->++++<]>.>++++++++++.[->+++
<]>++.....-[->++++<]>.>++++++++++.[->+++<]
>++.....-[->++++<]>.>++++++++++.[->+++<]>+
+.....-[->++++<]>.>++++++++++.[->+++<]>++.
....-[->++++<]>.>++++++++++.[--->++<]>+++.
....[->++++<]>.

ব্রেইনফাক কখনও সুন্দর নয় :) কেবল এটির কাজ করার
জন্যই উত্সাহিত করুন

আমি একমত নই
সেকশনস

ideone.com/ICtrhv সময় সীমা অতিক্রম আমি বলতে চাচ্ছি, কি ....
therewillbecoffee

বিজ্জারে ... এটি এখানে চেষ্টা করুন: esoteric.sange.fi/brainfuck/impl/interp/i.html
জোশপবারন

8

সিজেম, 36 30 বাইট

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

L{{S5*\+}/S'|5*+]'_5*+}5*1>zN*

আমার প্রাথমিক 36-বাইট সমাধান আউটপুট অরিয়েন্টেশনের ফলাফল তৈরি করেছে। অ্যালগরিদম থেকে আরও বাইট নিঃসরণের চেষ্টা করার পরেও আমি পারিনি I তারপর আমি দেখলাম মার্টিন এর উজ্জ্বল কৌশল উৎপাদিত কলাম সারি পরিবর্তে এবং ফলাফল পক্ষান্তরিত করে। আমি বুঝতে পেরেছিলাম যে সম্ভবত এটি আরও ভাল পদ্ধতির, সুতরাং আমি একটি স্থান-ভিত্তিক সমাধান তৈরির উদ্দেশ্যে যাত্রা করলাম।

যাইহোক, সেই কৌশলটি বাস্তবায়নের বিষয়ে আমার দৃষ্টিভঙ্গি কিছুটা ভিন্ন। পূর্ণ কলাম তৈরি করার পরিবর্তে, আমি একটি পুনরাবৃত্তি সমাধান ব্যবহার করি যা ইতিমধ্যে উত্পন্ন কোনও "পদক্ষেপ" ইন্ডেন্ট করে এবং প্রতিটি পুনরাবৃত্তিতে একটি নতুন পদক্ষেপ যুক্ত করে। সুতরাং প্রধান লুপের প্রথম পুনরাবৃত্তি এটি উত্পন্ন করে:

 |||||
_
_
_
_
_

মূল লুপের দ্বিতীয় পুনরাবৃত্তিটি বিদ্যমান পদক্ষেপকে সূচিত করে এবং এর পরে একটি নতুন যুক্ত করে:

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

এবং প্রধান লুপের সম্পূর্ণ পাঁচটি পুনরাবৃত্তি এটি উত্পন্ন করে:

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

এর পরে, যা করা দরকার তা হ'ল প্রথম লাইনটি মুছে ফেলা, যা অন্যথায় নীচের পদক্ষেপের জন্য অযাচিত রাইজার হয়ে উঠবে এবং স্থানান্তরিত হবে।


7

পাইথন 2, 80 77 74 বাইট

n=24;exec"print' '*n+'_'*5+'|'*(n<24)+('\\n'+~-n*' '+'|')*4*(n>0);n-=6;"*5

ডাবল থেকে মুক্তি পেয়ে execএকের মধ্যে সব কিছু ফিট করে print!


6

ক্লিপ, 46

{:24S:5'_m[z{*4,:+5*6zS"|
":*6zS:5'_"|
"`}vR4`

ব্যাখ্যা

{               .- Put everything in a list -.
 :24S           .- 24 spaces                -.
 :5'_           .- 5 underscores            -.
 m[z            .- Map...                   -.
    {           .- A list                   -.
     *4         .- 4 of the following       -.
       ,        .- Append                   -.
        :+5*6zS .- 5 + 6 * the iteration of spaces  -.
        "|      .- A pipe and newline       -.
"
     :*6zS      .- 6 * the iteration of spaces      -.
     :5'_       .- 5 underscores            -.
     "|         .- A pipe and newline       -.
"
    `           .- End list (per iteration  -.
   }vR4         .- The mapping is onto {3,2,1,0}    -.

1
ক্লিপ এমনকি উইকিপিডিয়া পৃষ্ঠা নেই। আমার অর্থ, কী ....
উইলবিকফি

4
@thewillbecfi এই সাইটের অনেক ভাষায় উইকিপিডিয়া পৃষ্ঠা নেই। এটি মজা;)
Ypnypn

@Ypnypn আপনি কি এটি নকশা করেছেন? এটি দেখতে সত্যিই আকর্ষণীয়! যদিও আমি সত্যিকারের কুইনে আগ্রহী । ;) (উদাহরণ পৃষ্ঠাগুলির এটি কিছুটা ধোঁকাবাজি))
মার্টিন এন্ডার

6

সিজেম, 36 32 বাইট

{5*S*'_+a5*~_W<S+5'|*+}5/;]W%zN*

এটি এখানে পরীক্ষা করুন।

আমি একটি সুস্পষ্ট সূত্র ব্যবহার করার চেষ্টাও করেছি, তবে এটি সিজেমে আরও দীর্ঘ ... সম্ভবত এটি অন্য কাউকে সহায়তা করে:

21,29,ff{_2$5/)6*(=@@6/5*=_++" |_|"=}W%N*

ব্যাখ্যা

আমি দেখতে পেয়েছি যে সিঁড়িটি আরও সহজেই নির্মিত হতে পারে যদি আপনি ক) গ্রিডটি স্থানান্তর করেন এবং খ) লাইনগুলি বিপরীত করে:

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

সুতরাং প্রথমে আমি এটি নির্মাণ করছি, তারপরে বিপরীত, তারপর ট্রান্সপোজ।

{                     }5/        "For i in [0 .. 4].";
 5*S*'_+                         "Get a string of 5*i spaces and append _.";
        a5*~                     "Get five such lines.";
            _W<S+                "Duplicate the last, remove the _, add a space.";
                 5'|*+           "Add 5 copies of |.";
                         ;       "The above creates a row too many, so discard the last one.";
                          ]W%zN* "Wrap everything in an array, reverse, transpose, riffle
                                  with newlines.";

ঠিক আছে, 30 বাইট দিয়ে কেউ এটি করেছে।
Therewillbecoffee

6

পাইথন 2, 59

n=21
exec"n-=1;print n/5*6*' '+' _'[n%5<1]*5+'|'*(n<20);"*n

21 লাইনগুলি ইনডেক্স করা nহয় [20,19,...,1,0]। প্রথমে প্রতিটি "পদক্ষেপ" এর জন্য আমরা 6 টি স্পেস মুদ্রণ করি (বিয়োগ 1), হিসাবে গণনা করা n/5*6। তারপরে, পাঁচটি স্পেস প্রিন্ট করে, এগুলি বাদে পাঁচটির বহুগুণের জন্য আন্ডারস্কোর হয়। পরিশেষে, শীর্ষ রেখা ব্যতীত একটি উল্লম্ব রেখা প্রিন্ট করে n=20


সুন্দর এবং সোজা। আমি এটা পছন্দ করি!
Sp3000

6

জাভাস্ক্রিপ্ট, 115 107 96 94 89 87 83 বাইট

এটি জয়ের পক্ষে অনেক দীর্ঘ, তবে আমি প্রথমবারের মতো পিসিজি.এসইতে কোনও উত্তর নিয়ে এসেছি এবং কিছু পোস্ট করার যোগ্যতা তৈরি করতে পেরে আমি গর্বিত।

কিছু সহায়ক সিনট্যাক্টিকাল পরামর্শ দিয়ে আমি কোডটি উল্লেখযোগ্যভাবে সংক্ষিপ্ত করে রেখেছি - এমনকি স্ক্রোলবারের দোরের নীচে!

for(s='',y=22;--y;s+='\n')for(x=0;++x<29;)s+=6*~(~-y/5)-~x?4+5*~(x/6)+y?' ':'_':'|'

উত্তম উত্তর, এটি সংক্ষিপ্ত করতে আপনি করতে পারেন এমন বেশ কয়েকটি জিনিস গ্রহণ করা হয়েছে alert। আপনি যদি এটি কনসোলে চালান তবে এটি ছাড়া এটি ঠিক কাজ করে। এছাড়াও, শেষ কোঁকড়া ধনুর্বন্ধনী ভিতরে সেমিকোলন প্রয়োজন হয় না। আপনি (y/5-.2)((y-1)/5)
qw3n

@ qw3n এই পরামর্শগুলির জন্য ধন্যবাদ; নিয়ম দ্বারা সতর্কতা প্রয়োজন কিনা তা আমি নিশ্চিত ছিলাম না।
ভিভিয়ে

আপনি এর s+='\n'পরেও স্থানান্তর করতে y--পারেন এবং কোঁকড়া ধনুর্বন্ধনী থেকে মুক্তি পেতে পারেন যাতে এটি দেখতে ভাল লাগে for(s='',y=21;y>0;y--,s+='\n')। আমি লুপটির ভিতরে এসগুলিও আরম্ভ করেছিলাম যাতে আপনার কোডটি সমস্ত বিবৃতি হয়
লুপটির ভিতরে এসটিও

1
আমি ভেবেছিলাম এটি আমার শেষটি ছিল তবে আমার পক্ষে এটি হওয়া উচিত for(s='',y=22;--y;s+='\n')for(x=0;++x<29;)s+=6*~~(y/5-.2)+5-x?5*~~(x/6)+1-y?' ':'_':'|'যদি আপনি আপনার ত্রৈমাসিক অভিব্যক্তিটি ফ্লিপ করেন তবে আপনি পরীক্ষা করতে পারেন number - xযা উভয় পদই আপনাকে আরও 2 বাইটের সমান সংরক্ষণ করলে পরীক্ষা করতে পারে ।
qw3n 21

1
টিলডে গেমস: ~ n == -n-1, - ~ n == n + 1, ~ -n == n-1, for(s='',y=22;--y;s+='\n')for(x=0;++x<29;)s+=6*~(~-y/5)-~x?4+5*~(x/6)+y?' ':'_':'|'83
এডকি 65

6

ECMAScript 6, 142 138 129 91 বাইট

সত্যই এটি পুনরায় কাজ করার জন্য @ edc65 কে বিশেষ ধন্যবাদ।

a=o='',[for(x of!0+o)(o=(a+'     |\n').repeat(4)+a+'_____|\n'+o,a+='      ')],a+'_____\n'+o

আসল সংস্করণটির যুক্তিটি কীভাবে এটি মোড হয়েছে তার জন্য @ edc65 মন্তব্য পরীক্ষা করে দেখুন।

((f,l,p)=>                  //variables
f(24)+l+p[1]+               //add the non pattern line
[0,1,2,3].map(b=>f(18-6*b)) //add the right number of spaces in front of the 4 steps
.map((a,b)=>f(4,a+f(5)+p)   //the four repeating lines of the step 
+a+l)                       //the landing line
.join(p)+p)                 //put it all together
((n,s=' ')=>s.repeat(n)     //create an variable array of some character
,'_____','|\n')             //string literals

1
আপনি কয়েকটি বাইট সংরক্ষণ করার newআগে কনস্ট্রাক্টরটিকে নিরাপদে সরিয়ে ফেলতে পারেন Array
নিনজা বিয়ারমোনকি 3:15

@ এইচএসএল ধন্যবাদ কিছু কারণের জন্য আমি ভেবেছিলাম এটি newপ্রয়োজনীয় ছিল।
qw3n

1
অ্যারে (এন) .জাইন (গুলি) তাই ES5! আপনি চেষ্টা করেছেনrepeat
edc65

[1,2,3,4].map((a,b)এবং মাত্র খ => [0,1,2,3].map(b(-4)
এডক 65

আমি ফায়ারফক্স চালাচ্ছি এবং এটি খুব সুন্দরভাবে কাজ করে!
therewillbecoffee

5

ম্যাটল্যাব, 68 বাইট

আমার দৃ the় অনুভূতি আছে যে ম্যাটল্যাব আরও ভাল করতে সক্ষম হওয়া উচিত, তবে আমি কোনও উপায় ভাবতে পারি না।

p(1:5,6)='|';p(1,1:5)=95;w=blkdiag(p,p,p,p);w(21,25:29)=95;flipud(w)

সিঁড়িটি উপরের দিকে তৈরি করে এবং এটি উল্টায়। আমার থায়োমিটারটি চারপাশে সমস্ত ম্যাজিক ধ্রুবকগুলির কারণে ভেঙে গেছে।

'|'আরম্ভ করার জন্য pএবং wচর অ্যারে হিসাবে ইচ্ছাকৃতভাবে as-as (ascii কোডপয়েন্টের পরিবর্তে) রেখে দেওয়া হয়েছে ।


1
'|' = 124যাইহোক, যাতে কোনও অতিরিক্ত অক্ষরের জন্য ব্যয় হয় না।
পিটার কর্ডস

5

রুবি, 48

25.times{|i|puts" "*(4-i/6)*5+(i%6==0??_*5:?|)}

পুরানো পদ্ধতির, 68

4.times{|i|(?_*5+"
|"*5).each_line{|l|puts" "*(4-i)*5+l}}
puts"_"*5

পিপিসিজিতে আপনাকে স্বাগতম! রুবি গল্ফিংয়ের কয়েকটি পরামর্শ: ১. সেখানে কিছু অপ্রয়োজনীয় সাদা জায়গা রয়েছে। ২. একক চরিত্রের স্ট্রিং এর মতো '_'লেখা যেতে পারে ?_। ৩. নিউলাইনগুলি সরাসরি স্ট্রিংগুলিতে এম্বেড করা যেতে পারে (যাতে আপনি আসলে করতে পারেন "<linebreakhere>|")। ৪. আশেপাশের প্রথম বন্ধনীগুলি প্রয়োজনীয় নয়। ফাইনালটি putsপ্রতিস্থাপন করা যেতে পারে $><<(যা আপনাকে ব্যবহারের পরেও স্থান থেকে মুক্তি দিতে দেয় ?_)। এটা বজায় রাখা! :)
মার্টিন এন্ডার

হ্যাঁ, আমি কিছুটা সাদা জায়গা থেকে মুক্তি পেয়েছি। ধন্যবাদ! আমি একক চরিত্রের স্ট্রিং সম্পর্কে জানতাম না।
সাইকোটিকা0

আপনি সম্ভবত (1..4).mapদ্বারা প্রতিস্থাপন 4.timesএবং তার 4-iপরিবর্তে ব্যবহার করতে পারেন 5-i
মার্টিন ইন্ডার

ওহ, ভাল কল। সম্পন্ন.
সাইকোটিকা0

4

জুলিয়া, 83 বাইট

for n=24:-6:0 print(" "^n*"_"^5*"|"^(n<24)*"\n"*(" "^(n>0?n-1:0)*"|\n"^(n>0))^4)end

জুলিয়ায়, স্ট্রিং কনটেনটেশন *অপারেটর ব্যবহার করে সঞ্চালিত হয় এবং স্ট্রিং পুনরাবৃত্তি ব্যবহার করে সঞ্চালিত হয় ^


4

> <> , 108 104 100 বাইট

cc+::?v~'_____'o\/' 'o  \
?:o'|'\' 'o1-30.o\v!?:-1<}:{oav!?:<4;!
-20.12^?(+cc:ooo/ \~1-'!|'o1. \~ao6

আমার পাইথন উত্তরের মতো একই কৌশল ব্যবহার করে একটি সাধারণ> <> সমাধান । মূল পার্থক্যটি হ'ল> <> এর স্ট্রিং গুণ (বা এমনকি স্ট্রিং) নেই, সুতরাং এগুলি সমস্ত লুপের সাহায্যে সম্পন্ন হয়।

ব্যাখ্যা

cc+                  Push 24 (call this "n")

[outer loop]
[loop 1, print n spaces]

:                    Copy n (call this "i")
:?                   If i is not zero...
' 'o1-30.                Print space, decrement i and go to start of loop 1

~'_____'ooooo        Pop i and print five underscores
:cc+(?               If n < 24...
'|'o                     Print a pipe
21.                  Otherwise skip pipe printing

[loop 2: print vertical parts of stairs]

?!;                  If n is zero, halt
4                    Push 4 (call this "j")
?!                   If j is zero...
~ao6-20.                 Pop j, print a newline, minus 6 from n and go to start of outer loop
ao                   Print a newline
}:{                  Copy n (call this "k")

[loop 3: print n-1 spaces]

1-                   Decrement k
:?!                  If k is zero...
    ~1-'!|'o1.           Pop k, decrement j, print a pipe and go to start of loop 2
' 'o                 Otherwise print a space and go to start of loop 3

আমার মনে হচ্ছে আমি সর্বদা একটি> <> উত্তরটি upvote করব।
krs013

3

গ্রোভি, 98 71 বাইট

// old: (25..5).each{i->println((1..(i-(i-1)%5)).collect{' '}.join()+(i%5?'|':('_____'+(i==25?'':'|'))))}

(25..5).each{i->println(' '*(i-(i-1)%5)+(i%5?'|':'_'*5+(i%25?'|':'')))}

(25..5).each { i ->
    println(
        ' '*(i - (i - 1) % 5) + (
            i % 5 ? 
            '|' : 
            '_'*5 + (i % 25 ? '|' : '')
        )
    )
}    

আমি বেশ নিশ্চিত, যে এটি কোনওভাবে হ্রাস করা যায় :) @ এসকো_উন্ডারের দ্বারা সংক্ষিপ্ত করে


1
আমি শেভ করতে কয়েক বাইট আছে: সংগ্রহ / প্রতিস্থাপন একটি গুণ সাথে যোগ ' '*(i-(i-1)%5)চারপাশের থেকে সরান বন্ধনী, ('_____'+(i==25?'':'|')), প্রতিস্থাপন '_____'সঙ্গে '_'*5, এবং যদি আপনি গত শর্তসাপেক্ষ টুসকি আপনি একটি অগতানুগতিক বৈষম্য অপারেটর হিসাবে% ব্যবহার করতে পারেন: (i%25?'|':'')। এই 71. নিচে আপনি পাওয়া উচিত
Score_Under

@ স্কোর_উত্তে সুন্দর, ধন্যবাদ, আমি বহুগুণযুক্ত স্ট্রিং সম্পর্কে জানতাম না: ডি
কামিল মিকোলাজকিক


2

টি-এসকিউএল, 276 বাইট

declare @x int declare @y int declare @w varchar(30) declare @l char(5) set @l='_____' set @x=23 while @x > 4 begin set @w=replicate(' ',@x) set @y=0 if @x=23 print @w+' '+@l else print @w+' '+@l+'|' while @y < 4 begin set @y=1+@y print @w+'|' end set @x=@x-6 end print @l+'|'

2

ভিজ্যুয়াল ফক্সপ্রো 9.0, 261 বাইট

n = পদক্ষেপের সংখ্যা

মোট 175 টি অক্ষর, তবে সঠিকভাবে প্রদর্শন করতে ফাইল আউটপুট দিতে হয়েছিল - সুতরাং ফাইল অপারেশনের জন্য বিয়োগ 43 অক্ষর = 132 অক্ষর।

n=10
c=CHR(13)
f="st.t"
ERAS (f)    
FOR i=n TO 1 STEP -1
    p=(i-1)*6
    =STRTO(PADL("_____",p+5)+IIF(i<n,"|","")+c+IIF(i>1,REPLI(PADL("|"+c,p+1),4),""),f,.t.)
    ?PADL("_____",p+5)+IIF(i<n,"|","")+c+IIF(i>1,REPLI(PADL("|"+c,p+1),4),"")
ENDFOR
MODI COMM (f)

উত্তরদাতাকে নোট করুন: বাইট গণনা নিখুঁত কার্যকারী উত্স কোডের জন্য, এবং বাইট কাউন্টারটি বলে যে এটি 261 বাইট, তাই এটি।


2

বাশ (কোর্টিল থেকে + ট্যাক): ১১০ বাইট

এটি সরাসরি টার্মিনালে আটকানো যেতে পারে।

(n =; সেট করুন {1..4}; আমি প্রতিধ্বনি করতে "" $ {n} _____ | "; n + = ''; আমি প্রতিধ্বনি করার জন্য" $ n | "; সম্পন্ন; এন + = \; সম্পন্ন; প্রতিধ্বনি" $ {এন} _____ ") | Tac

ছাড়া |tac, এটি বেশিরভাগ কাজ করে না। এবং আমি এটি গিট বাশে চালিয়েছি, সুতরাং আমার নিজের উচিত kill
ততক্ষণে

1

x86 মেশিন কোড, 48 বাইট

B1 05 B4 0E 80 E9 01 B0 5F B5 05 80 ED 01 CD 10 80 FD 00 75 F6 B5 05 80 ED 01 B0 0A CD 10 B0 08 CD 10 B0 7C CD 10 80 FD 00 75 EC 80 F9 00 75 D4

সমাবেশ কোড সমতুল্য:

mov cl, 5
mov ah, 0Eh
main:
    sub cl, 1

print_step:
    mov al, '_'
    mov ch, 5

.loop:
    sub ch, 1

    int 10h

    cmp ch, 0
    jne .loop

print_stoop:
    mov ch, 5

.loop:
    sub ch, 1

    mov al, 0Ah;    ascii newline
    int 10h

    mov al, 8;      ascii backspace
    int 10h

    mov al, '|'
    int 10h

    cmp ch, 0
    jne .loop

cmp cl, 0
jne main

আউটপুট:

_____
    |
    |
    |
    |
    |_____
         |
         |
         |
         |
         |_____
              |
              |
              |
              |
              |_____
                   |
                   |
                   |
                   |
                   |_____
                        |
                        |
                        |
                        |
                        |

আউটপুট আলাদা হওয়ার জন্য দুঃখিত; আমি এটি গ্রহণযোগ্য আশা করি।

এটি ডসবক্সে চালানো হয়েছিল

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