এই অধিকার কোড করা খুব কঠিন না?


17

আপনাকে যে কোনও ভাষায় একটি প্রোগ্রাম বা একটি ফাংশন লিখতে হবে যা এই প্যাটার্নটির ফলাফল দেয়:

~|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||~
|~|||||||||||||||||||||||||||||||||||||||||||||||||||||||||~|
||~|||||||||||||||||||||||||||||||||||||||||||||||||||||||~||
|||~|||||||||||||||||||||||||||||||||||||||||||||||||||||~|||
||||~|||||||||||||||||||||||||||||||||||||||||||||||||||~||||
|||||~|||||||||||||||||||||||||||||||||||||||||||||||||~|||||
||||||~|||||||||||||||||||||||||||||||||||||||||||||||~||||||
|||||||~|||||||||||||||||||||||||||||||||||||||||||||~|||||||
||||||||~|||||||||||||||||||||||||||||||||||||||||||~||||||||
|||||||||~|||||||||||||||||||||||||||||||||||||||||~|||||||||
||||||||||~|||||||||||||||||||~|||||||||||||||||||~||||||||||
|||||||||||~|||||||||||||||||~|~|||||||||||||||||~|||||||||||
||||||||||||~|||||||||||||||~|||~|||||||||||||||~||||||||||||
|||||||||||||~|||||||||||||~|||||~|||||||||||||~|||||||||||||
||||||||||||||~|||||||||||~|||||||~|||||||||||~||||||||||||||
|||||||||||||||~|||||||||~|||||||||~|||||||||~|||||||||||||||
||||||||||||||||~|||||||~|||||||||||~|||||||~||||||||||||||||
|||||||||||||||||~|||||~|||||||||||||~|||||~|||||||||||||||||
||||||||||||||||||~|||~|||||||||||||||~|||~||||||||||||||||||
|||||||||||||||||||~|~|||||||||||||||||~|~|||||||||||||||||||

আউটপুট প্রতিটি 61 টি অক্ষরের 20 লাইন নিয়ে গঠিত।

বিধি

  • স্ট্যান্ডার্ড লুফোলগুলি নিষিদ্ধ
  • আউটপুট শেষে একক পেছনের নতুন লাইন থাকতে পারে
  • আউটপুটটির কোনও লাইনে কোনও পেছনের সাদা স্থান থাকতে পারে না

ট্রেলিং করা নতুন লাইন ছাড়া আউটপুটটির এমডি 5 চেকসামটি fde4e3b4606bf9f8c314131c93988e96

একটি ট্রেলিং করা নতুন লাইন সহ, আউটপুটটির এমডি 5 চেকসামটি 1f0b43db4fec6594be202c8339024cb7

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


আমি এটিকে কিছুটা পরিষ্কার করার জন্য চ্যালেঞ্জটি সম্পাদনা করেছি, সম্পাদনাটি রোলব্যাক করতে দ্বিধা বোধ করি।
ক্রিটসি লিথোস

1
আমি একটি কৌতূহল নিদর্শন এঁকেছি
sergiol

উত্তর:


13

সি (জিসিসি) , 97 82 81 80 বাইট

যে শেখার 15 বাইট Golfed absসি builtin, এর একটি অতিরিক্ত বাইট ধন্যবাদ Rogem যে ইশারা আমার ভেরিয়েবল ঘোষণা ফাংশন সরানো যাবে না জন্য, এবং অন্য একটি বাইট ধন্যবাদ ceilingcat পরামর্শ জন্য x=31;--x+31পরিবর্তে x=-31;++x<31

f(x,y){for(y=21;--y;puts(""))for(x=31;--x+31;)printf(abs(10-abs(x))-y?"|":"~");}

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

এটি একটি পিছনের নতুন লাইনের সাথে আউটপুট দেয়। ফাংশন fআউটপুটটিং করে।

ব্যাখ্যা

আউটপুটটি গ্রাফ হিসাবে বলা যেতে পারে।

~|||||||||||||||||||||||||||||+|||||||||||||||||||||||||||||~
|~||||||||||||||||||||||||||||+||||||||||||||||||||||||||||~|
||~|||||||||||||||||||||||||||+|||||||||||||||||||||||||||~||
|||~||||||||||||||||||||||||||+||||||||||||||||||||||||||~|||
||||~|||||||||||||||||||||||||+|||||||||||||||||||||||||~||||
|||||~||||||||||||||||||||||||+||||||||||||||||||||||||~|||||
||||||~|||||||||||||||||||||||+|||||||||||||||||||||||~||||||
|||||||~||||||||||||||||||||||+||||||||||||||||||||||~|||||||
||||||||~|||||||||||||||||||||+|||||||||||||||||||||~||||||||
|||||||||~||||||||||||||||||||+||||||||||||||||||||~|||||||||
||||||||||~|||||||||||||||||||+|||||||||||||||||||~||||||||||
|||||||||||~|||||||||||||||||~+~|||||||||||||||||~|||||||||||
||||||||||||~|||||||||||||||~|+|~|||||||||||||||~||||||||||||
|||||||||||||~|||||||||||||~||+||~|||||||||||||~|||||||||||||
||||||||||||||~|||||||||||~|||+|||~|||||||||||~||||||||||||||
|||||||||||||||~|||||||||~||||+||||~|||||||||~|||||||||||||||
||||||||||||||||~|||||||~|||||+|||||~|||||||~||||||||||||||||
|||||||||||||||||~|||||~||||||+||||||~|||||~|||||||||||||||||
||||||||||||||||||~|||~|||||||+|||||||~|||~||||||||||||||||||
|||||||||||||||||||~|~|||||||||||||||||~|~|||||||||||||||||||
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

( +গুলি কেবল ব্যাখ্যা উদ্দেশ্যে দেখানো হয় এবং অক্ষগুলি উপস্থাপন করে))

এই গ্রাফের সমীকরণটি y=abs(10abs(x)) হিসাবে এখানে একটি ডেসমোস গ্রাফের লিঙ্কটিতে দেখা যাবে ।

abs(10 - abs(x))
abs(           )            Reflect whatever is beneath the x-axis to above the x-axis
    10 - abs(x)             This forms the central triangle-like structure

কার্যক্রমে f, আমাদের দুটি জন্য লুপ রয়েছে যা এই গ্রাফের প্রতিটি স্থানাঙ্কের মাধ্যমে পুনরাবৃত্তি করে। yথেকে যায় 20কাছে 1ও এক্স থেকে যায়-30 থেকে 30

প্রত্যেকের জন্য x, আমরা কোনও abs(10-abs(x))বার্নিশে yকরে সমান কিনা তা পরীক্ষা করি abs(10-abs(x))-y। যদি তারা সমান হয় তবে এই ফলন হবে 0, সিতে একটি মিথ্যা মান, অন্যথায় এটি কিছু ইতিবাচক মানকে মূল্যায়ন করবে। তারপরে abs(10-abs(x))-y?"|":"~", আমরাprintf সেই অনুযায়ী।

এবং প্রতিটি লাইনের পরে, আমরা একটি নতুন লাইন ব্যবহার করে আউটপুট আউট করি puts("")এবং এভাবেই একটি পিছনের নিউলাইন দিয়ে ফাংশনটি আউটপুট করে।


1
এর f(x,y)পরিবর্তে একটি বাইট সংরক্ষণ করুনx,y;f()

@ এসিলিংক্যাট গল্ফটির জন্য ধন্যবাদ
ক্রিটিক্সী লিথোস



3

জেলি , 18 16 বাইট

⁵×3ŒRAạ=þḤṚị⁾~|Y

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

⁵×3ŒRAạ=þḤṚị⁾~|Y  Main link. No arguments.

⁵                 Set the argument and the return value to 10.
 ×3               Multiply by 3 to yield 30.
   ŒR             Balanced range; yield [-30, -29, ..., 29, 30].
     A            Take absolute values.
      ạ           Take absolute differences with 10.
         Ḥ        Unhalve; yield 20.
       =þ         Table equals; compare each result with each k in [1, ..., 20].
          Ṛ       Reverse the resulting 2D array.
           ị⁾~|   Index into "~|", yielding '~' for 1 and '|' for 0.
               Y  Separate by linefeeds.

3

পাইথন 2.7, 163 138 135 133 113 91 বাইট

l,t=S='|~'
for s in range(20):a=[l]*61;a[s]=a[60-s]=t;a[40-s]=a[20+s]=S[s>9];print`a`[2::5]

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

সম্পাদনা 1: -25 বাইট: আমি কিছুটা উচ্চাভিলাষী বোধ করার পরে অ্যালগরিদম পরিবর্তন করে। : P: P

সম্পাদনা 2: -3 বাইট: সৌজন্যে ফেলিপ নারদী বাটিস্তা

সম্পাদনা 3: -2 বাইট: সৌজন্যে shooqie

সম্পাদনা 4: -20 বাইট: সৌজন্য নটজাগান

5 সম্পাদনা করুন: -22 বাইট: সৌজন্যে Leaky নুন


পুরোপুরি মিস! ধন্যবাদ @ ফিলিপনার্দিবাটিস্তা। যদিও এখন আর কিছু যায় আসে না: পি সম্পূর্ণভাবে এলগোরিদম পরিবর্তন করে।
কোনিশোর রায়


1
স্ট্যাকিং অ্যাট্রিবিউশনগুলি প্রতিটি তার নিজস্ব লাইনে রাখার a,b,c='1','2','3'মতো a='1';b='2';c='3'এবং একই রকম, তবে আপনি এই জাতীয় স্ট্রিংগুলি আনপ্যাক করে বাইটগুলি অর্জন করতে পারেনa,b,c='123'
ফিলিপ নার্দি বাতিস্তা

1
এর n<mচেয়েও কম নয় n-m<0?
shooqie



3

ওয়েন্ডিস্ক্রিপ্ট , 65 বাইট (নতুন লাইন বাদ দিন)

<<a=>(x)?x<0/>-x:/>x
#y:20->0{#x:-30->31?a(10-a(x))==y@"~":@"|"""}

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

উপরের সি উত্তর হিসাবে একই নীতি অনুসরণ করে। প্রথম লাইনটি absফাংশন, দ্বিতীয় লাইন দুটি লুপ এবং আউটপুটগুলির জন্য চালায় ~বা |গ্রাফের উপর ভিত্তি করে। সর্বশেষে ""প্রতিটি লুপ চালু হওয়ার পরে একটি নতুন লাইন আউটপুট ব্যবহার করা হয়y


1
কেন আপনি নিউলাইন বাদ দিচ্ছেন?
কনর ও'ব্রায়েন

নতুন লাইনের প্রয়োজন নেই, নতুন লাইনটি সরানো যেতে পারে এবং স্ক্রিপ্টটি এখনও ঠিকঠাক চলতে পারে। এটি ঠিক সেখানে রয়েছে সুতরাং absমূল ফাংশন বনাম ফাংশনটির বিভাজনটি দেখতে আরও সহজ ।
ফেলিক্স গুও

2

ভিম, 59 বাইট

2i~^[59i|^[qqYpi|^[f~l2xA|^[q18@q11G31|qqr~jlq9@qF~2lqqr~klq8@q

কোথায় ^[হয় <ESC>কী


:11<CR>হতে পারে11G
nmjcman101

চিয়ার্স। আমি তার সম্পর্কে জানতাম না
বায়োইসেল

2

জাপট , 32 বাইট

20ç|
AÆhX'~
VméA
VpWUVmw)c ê z ·

এটি অনলাইন চেষ্টা করুন!আউটপুট বাক্সটি প্রসারিত করতে ভুলবেন না।

ব্যাখ্যা

20ç|

সেট Uথেকে |পুনরাবৃত্তি 20 বার।

AÆhX'~

সেট Vপরিসরের [0,9]( :) দ্বারা ম্যাপ
Uসূচিতে (অন্তর্নিহিত) অক্ষর দিয়ে X(বর্তমান মান) সেট ( h)~

VméA

সেট Wথেকে Vপ্রতিটি লাইন দিয়ে আবর্তিত 10 ( A) ডান অক্ষর।

VpWUVmw

অ্যারে তৈরি করুন: V, W, Uএবং Vপ্রতিটি লাইন বিপরীত ( w) দিয়ে। এটি এখন 90 ° বামদিকে আবর্তিত আকারের বাম অর্ধেক।

c ê z ·

অ্যারে ( c) ফ্ল্যাট করুন, এটি পেলেনড্রাইজ করুন ( ê), 90 ° ডানদিকে ঘোরান ( z) এবং নতুন লাইনের সাথে যুক্ত হন ( ·)।


2

তুলি , 36 বাইট

অ প্রতিদ্বন্দ্বী

b|20{s~>v}10{>^s~}9{>vs~}>v20{>^s~}▁

ব্যাখ্যা

b|20{s~>v}10{>^s~}9{>vs~}>v20{>^s~}▁  Program
b|                                    Sets the background character to `|`
  20{    }                            Executes function 20 times
     s~                               Sets the current character to `~`
       >v                             Moves one space right and one space down
          10{    }                    Executes function 10 times
             >^                       Moves one space right and one space up
               s~                     Sets the current character to `~`
                  9{    }             Executes function 9 times
                    >v                Moves one space right and one space down
                      s~              Sets the current character to `~`
                         >v           Moves one space right and one space down
                           20{    }   Executes function 20 times
                              >^      Moves one space right and one space up
                                s~    Sets the current character to `~`
                                   ▁  Cuts off the last line (because it pads an extra line when the pointer moves near the edge)

এটি আমাকে মনে করিয়ে দেয়, আমার একটি আয়না অপারেশন যুক্ত করা দরকার।


2

অক্টাভা , 157 57 54 বাইট

অন্যান্য উত্তর এবং মন্তব্যগুলির জন্য ধন্যবাদ এটি আরও নিচে নামিয়ে।

a=zeros(20,61);for i=-30:30;a(21-abs(10-abs(i)),i+31)=2;end
a=char(a+124)

আমি কেবল এ্যাবস (10-অ্যাবস (এক্স)) ফাংশন সহ অন্যান্য উত্তরের মতো এটির কাছে এসেছি এবং তারপরে চিত্রটি মুদ্রণের জন্য ডান এএসসিআইআই অক্ষর ব্যবহার করেছি।


1
কোড-গল্ফ চ্যালেঞ্জের উত্তরে আমাদের উত্তরের প্রয়োজন be কমপক্ষে আপনার এটিকে গল্ফ দেওয়ার চেষ্টা করা উচিত উদাহরণস্বরূপ অপ্রয়োজনীয় সাদা স্থান ইত্যাদি অপসারণের মাধ্যমে
এরিক দ্য আউটগল্ফার

1
এছাড়াও, ভাষাটিকে কেবল "অষ্টক" বলা হয়। গল্ফিংয়ের জন্য, সমস্ত সাদা স্থান (নিউলাইনগুলিও) সরিয়ে বাদে নিশ্চিত করুন যে আপনি দুটি চূড়ান্ত লাইনের মতো বিবৃতিগুলি একত্রিত করেছেন।
Sanchises

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




1

বুবলগাম , 90 বাইট

00000000: 9dcb a10d 0040 08c5 50cf cc4d 673f 85ab  .....@..P..Mg?..
00000010: b880 22fd 7972 3f07 ef98 e1cc 85e1 ca05  ..".yr?.........
00000020: 8623 97d5 78c2 abf1 8457 e305 b31a 0f78  .#..x....W.....x
00000030: f507 0fcc 54fc 6ed3 794b b6d2 c1ed 163a  ....T.n.yK.....:
00000040: b8dd 42c7 68b7 d031 f757 3ab8 dd42 07b7  ..B.h..1.W:..B..
00000050: 5be8 e076 0b1d dcaf 060f                 [..v......

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


1

ম্যাথগল্ফ , 22 বাইট

I{S╒xñ♂-±Iï--mÆ┬û|~§yp

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

ব্যাখ্যা

এটি থেকে 2-3 বাইট দূরে গল্ফ করা সম্ভব, আমি কী করতে পারি তা আমি দেখতে পাচ্ছি।

I                        push 20
 {                       start block or arbitrary length
  S                      push 30
   ╒                     range(1,n+1)
    x                    reverse int/array/string
     ñ                   pop(a), push palindromize(a) string/list/number
      ♂                  push 10
       -                 pop a, b : push(a-b)
        ±                absolute value
         I               push 20
          ï              index of current loop, or length of last loop
           -             pop a, b : push(a-b)
            -            pop a, b : push(a-b)
             m           explicit map
              Æ          start block of length 5
               ┬         check if equal to 0
                û|~      string "|~"
                   §     get from array/string
                    y    join array without separator to string or number
                     p   print with newline

অটো উত্পাদিত ব্যাখ্যা যতটা সুবিধাজনক, তারা সাধারণত প্রোগ্রামটি কেন এটি করছে তার বিন্দুটি মিস করে ...
জো কিং

@ জোকিং এটি জেলি উত্তরের একটি বন্দর। আমি এর পরে 21-বাইটার খুঁজে পেয়েছিলাম প্রায় একই যুক্তি ব্যবহার করে, আমি এর জন্য আরও ভাল ব্যাখ্যা লেখার চেষ্টা করব।
সর্বোচ্চ


0

পসিট্রন , 165 বাইট

i=0;while(i<20)do{k='|'*(59-2*i);if(i==10)then{j='|'*19;k=j+'~'+j;};if(i>10)then{q=39-2*i;j='|'*q;q=2*i-21;k=j+'~'+'|'*q+'~'+j;}print@('|'*i+'~'+k+'~'+'|'*i);i=i+1;}

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

আমি মনে করি এতে পজিট্রনের অনেকগুলি বাগ রয়েছে। আমার এটি টিআইওতে আপডেট হওয়া উচিত কারণ তখন ++আসলে কাজ করবে।


0

গণিত, 78 75 বাইট

Print[""<>Riffle[Array[If[#+Abs[10-Abs[31-#2]]==21,"~","|"]&,{20,61}],"\n"]]

বাদে \nপ্রকৃত নিউলাইন দ্বারা প্রতিস্থাপিত হয়। এটি অনলাইন চেষ্টা করুন! (কোনও কারণে ম্যাথিক্সে লাইনগুলির শুরুতে অতিরিক্ত স্থান রয়েছে, তবে এটি ম্যাথমেটিকায় সূক্ষ্মভাবে কাজ করে ))

আমি আমার নিজের জমা দিয়ে হাজির হয়েছি, তবে ক্রিটিক্সী লিথোস তাদের একটি ব্যাখ্যা যুক্ত করেছেন এবং এটি আমার সাথে বেশিরভাগ অনুরূপ তবে কিছুটা চালাক সূত্র ব্যবহার করেছে, সুতরাং এখন এটি কেবল উত্তরটির একটি বন্দর। (যান এবং এটি পড়ুন এবং এটি upvote!)


0

বুবলগাম , 93 বাইট

00000000: 9dcb 390e 4301 10c2 d09e 335b 9c3d 5d56  ..9.C.....3[.=]V
00000010: e72f 4c35 327a 65bf 86ee 9830 f342 5879  ./L52ze....0.BXy
00000020: 8130 f202 848d 9797 a613 262c bc7c 6a3a  .0........&,.|j:
00000030: 60c2 552e 9858 bcdc a2f9 55ac 9916 5e6f  `.U..X....U...^o
00000040: a285 d79b 6819 eb4d b4cc fe99 165e 6fa2  ....h..M.....^o.
00000050: 85d7 9b68 e1d5 26da 782f 3578 00         ...h..&.x/5x.

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



0

লুয়া, 193 বাইট

m={}function g(x,y)if(x<62)then
m[x+y*61]="~"if(x==31or x==21or x==41)then
b=not b
end
g(x+1,y+((b and-1)or 1))end
end
g(1,0)for y=0,19 do
s=""for x=1,61 do
s=s..(m[x+y*61]or"|")end
print(s)end

নোট করুন যে লুয়া কোনও নতুন লাইন তৈরি না করে কিছু মুদ্রণ করতে পারে না। এই কারণে, আমাকে একটি নিয়ম ভঙ্গ করতে হবে।

ন্যূনতম পরিমাণে ছোট পরিমাণে:

map={}
o=20
p=61
--b is true means go up
function bounce(x,y,c)
    if (x~=p)then
        map[x+y*p]=c 
        if(x==31 or x==21 or x==41)then 
            b=not b 

        end
        bounce(x+1,y+((b and -1) or 1),c)
    end
end
bounce(1,0,"~")
--map[2+60] = "h"
for y=0,o-1 do
    str = ""
    for x=1,p do
        str = str..(map[x+y*p] or "|")
    end
    print(str)
end

মিনিফিকেশনের সময় যেখানে কিছু পরিবর্তন হয়েছে সেগুলি প্রোগ্রামগুলি কম প্রসারণযোগ্য তবে ছোট করে তোলে।

এটি ব্যবহার করে দেখুন: https://tio.run/##PY7LCoMwEEX3@YqQVVJTcWwRCp0vKV1oNa1QJ0UjGPr49TRq6eoO91wOcx/LEDp8vs1IF9da4lc5aa9aI6djkSt3a4h1pynxmwLOKD5iJog7sD2Pmf9yD@u0QrKOV6yhmkVTAtonUla8pHoLKm5BqZmtHHSmTCw9ZhoOvLZsQCHMogRdwNoMaSr/L9hevMSiePQtOTnMdwhf

আমি আগে নিশ্চিত হয়েছি যে কেউ এর আগে এটি করেছে কিনা, তবে আমি প্রোগ্রামটি স্ট্রিং হিসাবে লোড করে এবং জিএসব (অনুসন্ধান / প্রতিস্থাপন) ব্যবহার করে ছোট করার চেষ্টা করেছি। দুর্ভাগ্যক্রমে, এটি প্রোগ্রামটি আরও বড় করে তুলেছে। যাইহোক, যদি এই প্রোগ্রামটি যথেষ্ট বড় হয় তবে এটি কম বাইটে উপার্জন করতে পারে।

g=string.gsub
loadstring(g(g(g('m={}function g(x,y)if(x<62vm[x+y*61]="~"if(x==31zx==21zx==41vb=not beg(x+1,y+((b and-1)z1))eeg(1,0)fzy=0,19 do s=""fzx=1,61 do s=s..(m[x+y*61]z"|")eprint(s)e','e',' end '),'v',')then '),'z','or '))()

আসল ফলাফলের সাথে তুলনামূলকভাবে ঘনিষ্ঠতার কারণে (240 বাইট, কেবলমাত্র 41 জন), আমি অনুভব করেছি যে আমি এটি পোস্ট করেছি। এই প্রোগ্রামটি যেখানে 350+ বাইট, সম্ভবত হ্রাস হতে পারে।


0

জাভা 8, 113 বাইট

v->{String r="";for(int i=-1,j;++i<20;r+="\n")for(j=61;j-->0;)r+=j==i|j+i==60|i>9&(j-i==20|j+i==40)?"~":"|";return r;}

আমি চেকগুলি অনুভব করছি ( j==i|j+i==60|i>9&(j-i==20|j+i==40)একাধিক চেক একসাথে একত্রিত করে অবশ্যই গল্ফ করা যেতে পারে)।

ব্যাখ্যা:

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

v->{                    // Method with empty unused parameters and String return-type
  String r="";          //  Result-String
  for(int i=-1,j;       //  Index integers
      ++i<20;           //  Loop (1) from 0 to 20 (exclusive)
      r+="\n")          //    After every iteration: append a new-line to the result-String
    for(j=61;           //   Reset `j` to 61
        j-->0;)         //   Inner loop (2) from 60 down to 0 (inclusive)
      r+=               //    Append the result-String with:
         j==i           //     If `j` and `i` are equal (top-right /),
         |j+i==60       //     or `j` + `i` is 60 (top-left \),
         |i>9           //     or we're at the bottom halve
          &(j-i==20     //      and `j` - `i` is 20 (bottom left \),
            |j+i==40)?  //      or `j` + `i` is 40 (bottom right /)
          "~"           //       Append a literal "~" to the result-String
         :              //     Else:
          "|";          //      Append a literal "|" to the result-String
                        //   End of inner loop (2) (implicit / single-line body)
                        //  End of loop (1) (implicit / single-line body)
  return r;             //  Return the result-String
}                       // End of method


0

টিসিএল , 104 বাইট

time {incr j
set i 0
time {puts -nonewline [expr 21-abs(abs([incr i]-31)-10)-$j?"|":"~"]} 61
puts ""} 20

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


Tcl , 105 বাইট

time {incr j
set i 0
time {puts -nonewline [expr $j==21-abs(abs([incr i]-31)-10)?"~":"|"]} 61
puts ""} 20

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


Tcl , 109 বাইট

time {incr j;set i 0;time {append s [expr $j==21-abs(abs([incr i]-31)-10)?"~":"|"]} 61;set s $s\n} 20
puts $s

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

টিসিএল, 143 133 123 110

এখনও অনেকটা অসম্পূর্ণ, তবে আমি এর পরে এটি বিকশিত হব:

time {incr j;set i 0;time {incr i;append s [expr $j==21-abs(abs($i-31)-10)?"~":"|"]} 61;set s $s\n} 20
puts $s

ডেমো


ওল্ফ্রাম আরও কিছুটা গল্ফ করার জন্য একটি সামান্য সহায়তা দিয়েছিল: ওলফ্রামামাল্ফা .com/ ইনপুট
সার্জিওল

0

05 এ বি 1 ই , 20 19 বাইট

20F„|~20Ýû31∍ûNQèJ,

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

ব্যাখ্যা:

20F               # Loop 20 times:
   „|~            #  Push the string "|~"
   20Ý            #  List of range [0,20]
      û           #  Palindromize [0..20..0]
       31        #  Shorten to length 31 [0..20..10]
          û       #  Palindromize again [0..20..10..20..0]
           NQ     #  Check if the loop index is equal to it
             è    #  And index it into the string
              J   #  Then join the list of characters together
               ,  #  And print with trailing newline

20Ýû31∍û তালিকা তৈরি করে:

[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,19,18,17,16,15,14,13,12,11,10,11,12,13,14,15,16,17,18,19,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0]
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.