এই বাটন কী কাজ করে?


11

বর্তমানে আমার কাজে আমরা একটি নতুন ভবনে চলে এসেছি। এটি শিল্পের রাজ্য বলে মনে হচ্ছে এবং এতে স্বয়ংক্রিয় লাইট, স্বয়ংক্রিয় রোল-ডাউন শাটার রয়েছে এবং এটি এখন এই শহরে সর্বাধিক পরিবেশ বান্ধব বিল্ডিং হিসাবে পরিচিত।
যাইহোক, এটি সত্যিই এতটা ভালভাবে কাজ করে না .. রোল-ডাউন শাটারগুলি মাঝে মাঝে মেঘলা দিনে এবং যখন সূর্য জ্বলতে শুরু করে তখন নীচে নেমে যায় এবং আলোগুলি মাঝে মাঝে প্রতি 5-10 টি পর্যায়ক্রমে চালু এবং বন্ধ করে ডিস্ক প্রভাব তৈরি করে cause মিনিট। এছাড়াও, আমাদের কাছে এই রোল ডাউন শাটারগুলি নিয়ন্ত্রণ করার কোনও ম্যানুয়াল পদ্ধতি নেই বা তাপমাত্রাও নেই, তবে আমাদের কাছে লাইটের জন্য একটি রিমোট রয়েছে।
এই রিমোটগুলি নির্দেশনা ম্যানুয়াল ছাড়াই এসেছিল এবং 20 টিরও বেশি বোতাম রয়েছে যা আপনি চান বলে মনে করেন তা বাদ দিয়ে সমস্ত ধরণের জিনিস করে ..

পিএস: আমি এই চ্যালেঞ্জটি 1.5 মাস আগে স্যান্ডবক্সে লিখেছিলাম। বর্তমানে আমরা, কিন্ডা, রিমোটগুলি কীভাবে কাজ করে তা জানি ..
এই বিল্ডিং সম্পর্কে একটি বড় সুবিধা এটি বাইরে 30+ ডিগ্রি সেলসিয়াস, তবে এটির ভিতরে 21 ঘরের তাপমাত্রা সর্বদা থাকে।

সুতরাং, এটি ছিল ভূমিকা এবং লাইটগুলির জন্য রিমোট কন্ট্রোল এই চ্যালেঞ্জকে অনুপ্রাণিত করেছিল।

চ্যালেঞ্জ:

ধরা যাক আমরা প্রথমদিকে একটি প্রদীপ বন্ধ করে রেখেছি:

L

তারপরে আমরা সমস্ত ধরণের বোতামগুলি চাপি এবং তারপরে প্রদীপের স্থিতি আউটপুট করি।

প্রদীপের জন্য আমরা রিমোট কন্ট্রোলের বিভিন্ন কার্যক্রমে নিম্নলিখিত সংখ্যাগুলি ব্যবহার করি। যখন একটি বিয়োগ চিহ্নটি এই সংখ্যার সামনে থাকে, আমরা বিপরীতটি করি।

  • 1= চালু; -1= বন্ধ।
  • 2= 25% শক্তি বৃদ্ধি; -2= 25% দ্বারা (ম্লান) শক্তি হ্রাস করুন।
  • 3= 50% দ্বারা ছড়িয়ে পড়া বৃদ্ধি; -3= হ্রাস 50% দ্বারা ছড়িয়ে পড়ে।
  • 4 = আলোর ধরণ টগল করা।

সুতরাং, এটি সবই অস্পষ্ট, সুতরাং আসুন প্রতিটি বিষয়টির অর্থ কী আরও গভীরতর হওয়া উচিত:

সুতরাং, -1(অফ) খুব সুস্পষ্ট, এবং 1প্রাথমিক অন-স্টেটে যাবে (50% এর জন্য 2এবং 50% এর জন্য 3):

   //
  //
L ====
  \\
   \\

2এবং -2আলো কতদূর ভ্রমণ করে ( ==প্রতি 25% এর জন্য সংযুক্ত করা হয়):

0% (equal to a light bulb that is OFF)
L

25%
L ==

50%
L ====

75%
L ======

100%
L ========

3এবং -3আলো কতদূর ছড়িয়ে পড়ে:

0%:
L ====

50%:
   //
  //
L ====
  \\
   \\

100%:
|| //
||//
L ====
||\\
|| \\

(দ্রষ্টব্য: কখন 2এবং 3উভয়ই 100% এ থাকায় আপনার এই অবস্থা থাকবে:

||   //
||  //
|| //
||//
L ========
||\\
|| \\
||  \\
||   \\

4 আলোর ধরণ টগল করা হয়।

Default:
  //
L ==
  \\

After toggling (note the single space before '/' instead of two):
 /
L --
 \

ইনপুট:

আপনি সম্ভাব্য বোতাম-টিপস সমন্বিত একটি ইনপুট পাবেন। উদাহরণ স্বরূপ:

12-34

আউটপুট:

ইনপুটটির সমস্ত বোতামের পরে সাব-সিক্যুয়াল চাপলে হালকা প্রদীপের অবস্থা। সুতরাং উপরের উদাহরণ ইনপুট সহ, আমাদের নিম্নলিখিত আউটপুট রয়েছে:

L ------

চ্যালেঞ্জ নিয়ম:

  • ইনপুটটিতে কেবল থাকে 1234-(এবং এর -আগে কখনও হয় না 4)।
  • আপনি কখনই 0% বা 100% এর উপরে যেতে পারবেন না। যদি কোনও সংখ্যা এই সীমানা ছাড়িয়ে বাড়ে / হ্রাস করে তবে আপনি এটিকে উপেক্ষা করতে পারেন।
  • প্রদীপটি বন্ধ হয়ে গেলে আপনি কোনও ক্রিয়াকলাপ উপেক্ষা করতে পারেন এবং আবার চালু করলে তা প্রাথমিক ওএন-স্টেটে ফিরে আসে (উভয়র জন্য 2এবং 50% 3ডিফল্ট 4)। উদাহরণস্বরূপ: 12-1-341উপরে বর্ণিত প্রাথমিক ওএন-স্টেটটি কেবল মুদ্রণ করবে। (টিআইপি: আপনি 1ইনপুট ফাইনালের আগে সবকিছু এড়িয়ে যেতে পারেন - বাদ দিয়ে -1))
  • আলোকের দৈর্ঘ্যের সমান ফাঁকা স্থানগুলি বা একক পেছনের নতুন লাইনটি নিষিদ্ধ করা হয়। অতিরিক্ত অপ্রয়োজনীয় নতুন লাইন যুক্ত করা অবশ্য নয়।
  • আপনাকে একক স্ট্রিংয়ের পরিবর্তে পূর্ণসংখ্যার তালিকা হিসাবে ইনপুট নেওয়ার অনুমতি দেওয়া হয়েছে। পরিবর্তে 12-34, আপনি [1,2,-3,4]ইনপুট হিসাবে থাকতে পারে ।

সপ্তাহের দিন:

  • এটি , তাই বাইট জেতে সংক্ষিপ্ত উত্তর।
    কোড-গল্ফ ভাষাগুলি আপনাকে নন-কোডগলফিং ভাষার সাথে উত্তর পোস্ট করতে নিরুৎসাহিত করবেন না। 'যে কোনও' প্রোগ্রামিং ভাষার জন্য যতটা সম্ভব সংক্ষিপ্ত উত্তর নিয়ে আসার চেষ্টা করুন।
  • স্ট্যান্ডার্ড নিয়মগুলি আপনার উত্তরের জন্য প্রযোজ্য , সুতরাং আপনাকে সঠিক পরামিতিগুলি, সম্পূর্ণ প্রোগ্রামগুলির সাথে STDIN / STDOUT, ফাংশন / পদ্ধতি ব্যবহারের অনুমতি দেওয়া হবে। আপনার কল
  • ডিফল্ট লুফোলগুলি নিষিদ্ধ।
  • যদি সম্ভব হয় তবে আপনার কোডের জন্য একটি পরীক্ষার সাথে একটি লিঙ্ক যুক্ত করুন।
  • এছাড়াও, প্রয়োজনে একটি ব্যাখ্যা যোগ করুন।

পরীক্ষার কেস:

12-34
L ------

12-1-341
   //
  //
L ====
  \\
   \\

14-3224333-2
||  //
|| //
||//
L ======
||\\
|| \\
||  \\

142-1-314-3-322
L --------

1324-2-3
  /
 /
L ----
 \
  \

134
| /
|/
L ----
|\
| \

1-2-2-214-3-3-3
L ----

1
আউটপুট কি জন্য 134?
পূর্কাকাডারী

@ পিটু ১৯৯৮ আমি পরীক্ষার কেস যুক্ত করেছি (এবং টগল করার পরে স্পেস সংক্রান্ত কিছু জিনিস স্থির করেছি 4)। জিজ্ঞাসা করার জন্য ধন্যবাদ.
কেভিন ক্রুইজসেন

1
আমি মনে করি না তৃতীয় পরীক্ষার মামলার বিস্তারটি সঠিক।
পুর্বকুডারী

1
যদি বাতিটি চালু হয় এবং 1টিপে থাকে তবে পরামিতিগুলি পুনরায় সেট করা আছে?
পূর্কাকাডারী

2
এই আবহাওয়াতে আপনার অফিস 21º? আমি enর্ষা থেকে আপনাকে হতাশার মতো অনুভব করছি।
নীল

উত্তর:


6

পাইথন 2, 221 বাইট

for b in[-1]+input():exec["p=b>0;d=2;s=1;t=2","d+=b/2*(-2<d+b<6)","s+=b/3*(-3<s+b<5)","t=3-t"][abs(b)-1]
i=c=(s>0)*d*p
q='print" |"[s/2]*t+" "*i+t*%r;'
exec('i-=1;'+q%'/')*c
print"L "+" -="[t]*2*d*p
exec(q%'\\'+'i+=1;')*c

এই ক্ষতটি আমার প্রত্যাশার চেয়ে দীর্ঘ হওয়া। প্রথম লাইন প্রদীপের রাজ্য গণনা করে, বাকিগুলি মুদ্রণটি বাস্তবায়ন করে।

অ্যারে ফর্মের মধ্যে এসডিডিআইএন এর মাধ্যমে ইনপুট দেওয়া হয়।

আদর্শের উপর পরীক্ষার কেসগুলি দেখুন


3

আর, 323 320 বাইট

    z=scan();a=c=1;b=d=2;for(i in 1:sum(1|z)){s=sign(y<-z[i]);switch(y/s,b<-d<-2*(c<-a<-y),b<-b+s,c<-c+s,d<-2-d);b=min(b,4);c=min(c,2);b=b*(b>0);c=c*(c>0)}
    s="/";v=if(c>1)"|"else" ";for(i in a*b:-b){if(i)cat(v,if(d)v,rep(" ",abs(i)-1),s,if(d)s,"\n",sep="")else{cat("L ",if(d)rep("==",b)else rep("--",b),"\n",sep="");s="\\"}}

Ungolfed:

z=scan()

ইনপুট একটি লাইন পড়ে (স্পেস দিয়ে পৃথক পূর্ণসংখ্যার)

a=c=1;b=d=2

একটি (অন-নেস), বি (উজ্জ্বলতা), সি (প্রস্থ), ডি (মরীচি প্রকার) ভেরিয়েবল সূচনা করে। dহয় শূন্য বা দুটি, যার অর্থ আমরা যদি (ডি) পরে কল করতে পারি তবে (ডি> 1) বা অনুরূপ এবং কয়েকটা বাইট সংরক্ষণ করতে পারি।

while(any(z|1))

লেখার একটি গল্ফ-ওয়াই পদ্ধতি while(length(z))যেখানে z একটি পূর্ণসংখ্যার ভেক্টর।

প্রথম লাইনের বাকী অংশটি একটি switchস্টেটমেন্টের মাধ্যমে ইনপুট পরিচালনা করে । দ্বিতীয় লাইন প্রিন্ট আউট।

এটি সম্ভব যে কয়েকটি এর <-সাথে প্রতিস্থাপন করা যেতে পারে =তবে আমি মনে করি আপনি লেক্সিকাল স্কোপিং দ্বারা জীবিত খাবেন ...

এছাড়াও লক্ষ করুন যে আর-তে, ব্যাকস্ল্যাশগুলি এড়ানো দরকার।

c*(c>0)লেখার একটি গল্ফ-ওয়াই পদ্ধতি max(c,0)যা একটি চরিত্র সংরক্ষণ করে।

যদি লাইটটি চালু না থাকে, তবে যেহেতু *তার চেয়ে কম অগ্রাধিকার রয়েছে :, for(i in a*b:-b)লুপটি কেবল পুনরাবৃত্ত হয় 0:0

হালনাগাদ; প্রথম লাইনে লুপটির পরিবর্তে (পরিবর্তে) চেয়ে 3 টি বাইট সংরক্ষণ করা হয়েছে। নোট যে 1:sum(1|z)কম 1:length(z)বা কম অক্ষর seq_along(z)seq(z)বেশিরভাগ ক্ষেত্রে কাজ করবে, তবে যখন zএটির দৈর্ঘ্য এক হবে। প্রদত্ত সমাধান দৈর্ঘ্যের শূন্যের ইনপুটটির জন্য কাজ করবে না তবে আমি আশা করি যে প্রতিযোগিতার ক্ষেত্রের বাইরে।


2

কোটলিন , 445 বাইট

আমার প্রথম কোটলিন গল্ফ, জাভা থেকে 38 বাইট কম :)

fun f(z:IntArray)={var a=1<0;var b=2;var c=1;var d=a
z.map{when(it){1->{a=1>0;b=2;c=1;d=!a}-1->a=1<0;2->if(b<4)b+=1;-2->if(b>0)b-=1;3->if(c<2)c+=1;-3->if(c>0)c-=1;4->d=!d}}
var r="";val l=if(c>1)if(d)"|" else "||" else if(d)" " else "  "
if(c>0)for(i in b downTo 1)r+="${l+" ".repeat(i-1)+if(d)"/" else "//"}\n"
r+="L ${(if(d)"--" else "==").repeat(b)}\n"
if(c>0)for(i in 1..b)r+=l+" ".repeat(i-1)+"${if(d)"\\" else "\\\\"}\n"
if(a)r else "L"}()

সাদা স্থান এবং পরীক্ষা সহ:

fun f(z: IntArray) = {
    var a = false // ON / OFF
    var b = 2 // Strength [0,4]
    var c = 1 // Spread [0,2]
    var d = a // Type

    // Find state to print
    z.map {
        when (it) {
            1 -> {
                a = true
                b = 2
                c = 1
                d = !a
            }
            -1 -> a = false
            2 -> if (b < 4) b += 1
            -2 -> if (b > 0) b -= 1
            3 -> if (c < 2) c += 1
            -3 -> if (c > 0) c -= 1
            4 -> d = !d
        }
    }

    var r = ""
    val l = if (c > 1) if (d) "|" else "||"
    else if (d) " " else "  "

    // Print state
    if (c > 0) for (i in b downTo 1) {
        r += "${l + " ".repeat(i - 1) + if (d) "/" else "//"}\n"
    }
    r += "L ${(if (d) "--" else "==").repeat(b)}\n"
    if (c > 0) for (i in 1..b) {
        r += "${l + " ".repeat(i - 1) + if (d) "\\" else "\\\\"}\n"
    }

    /* return */ if (a) r else "L"
}()

fun main(args: Array<String>) {
    println(f(intArrayOf(1, 2, -3, 4)))
    println(f(intArrayOf(1, 2, -1, -3, 4, 1)))
    println(f(intArrayOf(1, 4, -3, 2, 2, 4, 3, 3, 3, -2)))
    println(f(intArrayOf(1, 4, 2, -1, -3, 1, 4, -3, -3, 2, 2)))
    println(f(intArrayOf(1, 3, 2, 4, -2, -3)))
    println(f(intArrayOf(1, 3, 4)))
    println(f(intArrayOf(1, -2, -2, -2, 1, 4, -3, -3, -3)))
}

মজার ব্যাপার হচ্ছে, বদলে স্বাভাবিকভাবেই কাজ এবং সংজ্ঞায়িত printবা returnনির্মিত স্ট্রিং, এটি ব্যবহার ফাংশন অ্যাসাইনমেন্ট (খাটো ছিল fun f() =একটি মূল্যায়ন ল্যামডা এর। (যে বিবরণ জানার জন্য?)

আমি কেবল এসইর সঠিক কোটলিন সিনট্যাক্স হাইলাইট করে থাকতে চাই


2

জাভা 8, 484 483 452 446 440 বাইট

z->{int a=1,b=2,c=1,d=0,j,k;for(int i:z){d=i==1?0:i>3?1-d:d;a=i*i==1?i:a;b+=i==1?2-b:i==2&b<4?1:i==-2&b>0?-1:0;c+=i==1?1-c:i==3&c<2?1:i==-3&c>0?-1:0;}String t=d<1?"=":"-",q=d<1?"//":"/",x=d<1?"\\\\":"\\",n="\n",y=" ",w=d<1?y+y:y,g=c>1?d<1?"||":"|":w,r="";if(c>0)for(r+=g,j=b;j-->0;r+=q+n+(j>0?c>1?g:w:""))for(k=j;k-->0;r+=y);for(r+="L ",j=b;j-->0;r+=t+t);r+=n;if(c>0)for(r+=g;++j<b;r+=x+n+(j<b-1?g:""))for(k=j;k-->0;r+=y);return a>0?r:"L";}

শেষ অবধি .. ঠিক আছে, আমার নিজের চ্যালেঞ্জটি আমার প্রত্যাশার চেয়ে কিছুটা শক্ত ...; পি

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

-Ce বাইটস @ সিলিংক্যাটকে ধন্যবাদ ।

ব্যাখ্যা:

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

z->{                          // Method with integer-array parameter and String return-type
  int a=1,                    //  ON/OFF flag, initially ON
      b=2,                    //  Strength, initially 50%
      c=1,                    //  Spread, initially 50%
      d=0,                    //  Type of light, initially two lines
      j,k;                    //  Index-integers
  for(int i:z){               //  Loop over the input-array
    d=i==1?0:i>3?1-d:d;       //   Determine the new type of light
    a=i*i==1?i:a;             //   Determine if the light is ON/OFF
    b+=i==1?2-b:i==2&b<4?1:i==-2&b>0?-1:0;
                              //   Determine the new strength
    c+=i==1?1-c:i==3&c<2?1:i==-3&c>0?-1:0;}
                              //   Determine the new spread
  String t=d<1?"=":"-",       //  Horizontal light symbol
         q=d<1?"//":"/",      //  Upper diagonal light symbol
         x=d<1?"\\\\":"\\",   //  Bottom diagonal light symbol
         n="\n",              //  New-line
         y=" ",               //  Space
         w=d<1?y+y:y,         //  One or two spaces?
         g=c>1?d<1?"||":"|":w,//  Space(s) or vertical light symbol(s)?
         r="";                //  Result String, starting empty
  if(c>0)                     //  Do we have spread >0%?
    for(r+=g,j=b;j-->0;r+=q+n+(j>0?c>1?g:w:""))for(k=j;k-->0;r+=y);
                              //   Create upper light part
  r+="L ";                    //  Light-bulb
  for(j=b;j-->0;r+=t+t);      //  Horizontal light next to the light-bulb
  r+=n;
  if(c>0)                     //  Do we have spread >0%?
    for(r+=g;++j<b;r+=x+n+(j<b-1?g:""))for(k=j;k-->0;r+=y);
                              //   Create bottom light part
  return a>0?                 //  Is the light turned ON?
             r                //   Return the created result-String
            :                 //  Else:
             "L";}            //   Return just "L"

1

ব্যাচ, 552 বাইট

@echo off
for %%a in (1 %*) do call:l %%a
set/aw*=o,l*=o
if %w% gtr 0 for /l %%a in (%l%,-1,1)do call:w %%a /
set s=----
if %t%==1 set s=====
call echo L %%s:~-%l%%%%%s:~-%l%%%
if %w% gtr 0 for /l %%a in (1,1,%l%)do call:w %%a \
exit/b
:w
set v= 
set u=%2
if %w%==2 set v=l
if %t%==1 set u=%2%2&set v=%v%%v%
set s=    
call set s=%%s:~-%1%%
echo %v:l=^|%%s:~1%%u%
exit/b
:l
if %1==1 set/ao=w=t=1,l=2
if %1==-1 set/ao=0
if %1==2 set/al+=1-l/4
if %1==-2 set/al-=!!l
if %1==3 set/aw+=1-w/2
if %1==-3 set/aw-=!!w
if %1==4 set/at^=1

দ্রষ্টব্য: set v=একটি পিছনের স্থান set s=রয়েছে এবং এতে তিনটি রয়েছে। এটি সত্যিই বিশ্রী ছিল, কারণ আপনি সহজেই |ব্যাচের বিভিন্ন পরিবর্তনশীল সংখ্যা মুদ্রণ করতে পারবেন না , সুতরাং আপনাকে একটি স্থানধারক ব্যবহার করতে হবে এবং প্রতিধ্বনি বিবৃতিতে এটি প্রতিস্থাপন করতে হবে।


0

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

“/|= 
L“•Wθ¨S9ƒTª»þúÙ•6вèJ¶¡sŽ8ÃS«1¡θΣÄ}.γÄ}ODd*©н8‚ß8αF樚NÈi¨]R®θ8Öi"||//="2ô…|/-S:}®Ås3/©_iθ}®i'|ð:}».∊

পূর্ণসংখ্যার একটি তালিকা হিসাবে ইনপুট।

এটি অনলাইনে চেষ্টা করুন বা সমস্ত পরীক্ষার কেস যাচাই করুন

ব্যাখ্যা:

“/|= 
L               # Push string "/|=\nL"
  Wθ¨S9ƒTª»þúÙ• # Push compressed integer 9569494169631511496055972036
   6в            # Converted to Base-6 as list: [5,3,2,2,2,2,2,2,2,2,4,1,1,0,0,4,1,1,3,0,0,4,1,1,3,3,0,0,4,1,1,3,3,3,0,0]
     è           # Index each into the string
      J          # Join everything together

আমাদের কাছে এখন স্ট্রিং রয়েছে:

L ========
||//
|| //
||  //
||   //

তারপরে আমরা করব:

¶¡               # Split it by newlines: ["L ========","||//","|| //","||  //","||   //"]
s                # Swap to take the (implicit) input-list
 Ž8Ã             # Push compressed integer 2234
    S            # Converted to a list of digits: [2,2,3,4]
     «           # Append it at the end of the input-list
                 #  i.e. [4,3,3,2,1,3,2,4,-2,-3] → [4,3,3,2,1,3,2,4,-2,-3,2,2,3,4]
 1¡              # Then split on 1
                 #  i.e. [4,3,3,2,1,3,2,4,-2,-3,2,2,3,4]
                 #   → [[4,3,3,2],[3,2,4,-2,-3,2,2,3,4]]
   θ             # Only leave the last inner list
                 #  i.e. [[4,3,3,2],[3,2,4,-2,-3,2,2,3,4]] → [3,2,4,-2,-3,2,2,3,4]
    ΣÄ}          # Sort on the absolute value
                 #  i.e. [3,2,4,-2,-3,2,2,3,4] → [2,-2,2,2,3,-3,3,4,4]
       .γÄ}      # Then group by absolute value
                 #  i.e. [2,-2,2,2,3,-3,3,4,4] → [[2,-2,2,2],[3,-3,3],[4,4]]
           O     # Then take the sum of each group
                 #  i.e. [[2,-2,2,2],[3,-3,3],[4,4]] → [4,3,8]
            Dd   # Duplicate it, and check for each if it's non-negative (>= 0)
                 #  i.e. [4,3,8] → [1,1,1]
              *  # Multiply the two lists
                 #  i.e. [4,3,8] and [1,1,1] → [4,3,8]
               © # And store the result in the register (without popping)
н                # Now take the first value (the strength)
                 #  i.e. [4,3,8] → 4
 8              # Pair it with 8
                 #  i.e. 4 → [4,8]
   ß             # Pop and push the minimum of the two
                 #  i.e. [4,8] → 4
    8α           # And then calculate the absolute difference with 8
                 #  i.e. 4 → 4
      F          # Loop that many times:
       ć         #  Extract the head of the string-list
                 #   i.e. ["L ========","||//","|| //","||  //","||   //"] → "L ========"
        ¨        #  Remove the last character
                 #   i.e. "L ========" → "L ======="
         š       #  And prepend it back to the list again
                 #   i.e. ["||//","|| //","||  //","||   //"] and "L ======="
                 #    → ["L =======","||//","|| //","||  //","||   //"]
       NÈi       #  And if the loop-index is even:
          ¨      #   Also remove the last item of the string-list
                 #    i.e. ["L =======","||//","|| //","||  //","||   //"]
                 #     → ["L =======","||//","|| //","||  //"]
      ]          # Close both the if and loop
                 #  i.e. ["L ========","||//","|| //","||  //","||   //"] and 4
                 #   → ["L ====","||//","|| //"]
       R         # Then reverse the list
                 #  i.e. ["L ====","||//","|| //"] → ["|| //","||//","L ===="]
®                # Push the list from the register again
 θ               # Now take the last value (the toggle)
                 #  i.e. [4,3,8] → 8
  8Öi         }  # If it's divisible by 8:
                 #  i.e. 8 → 1 (truthy)
     "||//="     # Push string "||//="
            2ô   # Split into parts of size 2: ["||","//","="]
     …|/-        # Push string "|/-"
         S       # Split into characters: ["|","/","-"]
     :           # And replace all of them in the string-list
                 #  i.e. ["|| //","||//","L ===="] → ["| /","|/","L ----"]
®                # Push the list from the register again
 Ås              # Now take the middle value (the spread)
                 #  i.e. [4,3,8] → 3
   3/            # Divide it by 3
                 #  i.e. 3 → 1
     ©           # Store it in the register (without popping)
      _i }       # If it's exactly 0:
                 #   i.e. 1 → 0 (falsey)
        θ        #  Only leave the last value of the string-list
     ®i    }     # If it's exactly 1 instead:
                 #   i.e. 1 → 1 (truthy)
       '|ð:     '#  Replace all "|" with spaces " "
                 #   i.e. ["| /","|/","L ----"] → ["  /"," /","L ----"]
»                # Then join the string-list by newlines
                 #  i.e. ["  /"," /","L ----"] → "  /\n /\nL ----"
 .∊              # And finally intersect mirror everything vertically
                 # (which automatically converts the slashes)
                 #  i.e. "  /\n /\nL ----" → "  /\n /\nL ----\n \\n  \"
                 # (And output the result implicitly)

আমার এই 05AB1E টিপটি দেখুন (বিভাগগুলি কীভাবে বড় পূর্ণসংখ্যাগুলি সংকুচিত করতে হয়? এবং পূর্ণসংখ্যা তালিকা কীভাবে সংকোচিত করতে হয়? ) কেন •Wθ¨S9ƒTª»þúÙ•6вতা বোঝার জন্য [5,3,2,2,2,2,2,2,2,2,4,1,1,0,0,4,1,1,3,0,0,4,1,1,3,3,0,0,4,1,1,3,3,3,0,0]; এবং Ž8Ãহয় 2234

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