আমার স্কিগলি ল্যাম্প


13

চলার সময় আমি আমার প্রদীপটি ভেঙে ফেললাম। এখন, আমার একটি নতুন দরকার আমাকে প্রদীপ বানানো আপনার কাজ! আমি কোন আকার চাই তা আমি নিশ্চিত নই, যদিও আমি জানি আমি একটি স্কুইগলি চাই।

আপনার প্রোগ্রাম / ফাংশনটি অবশ্যই একটি সংখ্যা ইনপুট নেবে এবং সেই বহু স্কুইগলস / বাধা সহ একটি প্রদীপ মুদ্রণ করতে হবে।

উদাহরণ:

ইনপুট:2

আউটপুট:

/ - \
 ()
 ()
/ __ \

ইনপুট:3

আউটপুট:

/ - \
 ()
 ()
 ()
/ __ \

ইনপুট:5

আউটপুট:

/ - \
 ()
 ()
 ()
 ()
 ()
/ __ \

নিয়মাবলী:

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

কিন্তু এটি মোটেও ঝাঁকুনি দেয় না! ইনপুটগুলি> 5 এটিকে ঝিনুকযুক্ত করে তুললে পছন্দ হত।
অপ্টিমাইজার

22
আমি হ্রাস পেয়েছি। আমি মনে করি এটি একটি বিরক্তিকর ASCII শিল্প। মাঝখানে একটি পুনরাবৃত্তি বিভাগ রয়েছে এবং অংশগুলির মধ্যে কোনও ওভারল্যাপ নেই যা সংক্ষিপ্ত করতে খুব কম short এটি কেবল ফর্ম আছে ABBB..BBBC। একটি বিভাগ পরিবর্তন করার প্রয়োজনের অর্থ লোকেরা একটি স্বল্প অন্তর্নির্মিত স্ট্রিং ব্যবহার করবে।
xnor

7
আপনারা সবাই ইতিমধ্যে ডাউনভোটিং বন্ধ করতে পারেন! আমি মনে করি ওপি বার্তাটি পেয়েছে।
xnor

1
@xnor আমি দরিদ্র লোকটির জন্য দুঃখিত feel এটি সম্ভবত এখন পর্যন্ত সবচেয়ে নিম্নোক্ত প্রশ্নগুলির মধ্যে একটি: / i.stack.imgur.com/T4A7X.jpg
বিটা

1
আমি কোনওভাবেই ভোট দিয়েছি না, তবে একটি ASCII বিদ্যুত্ বোল্ট আঁকার সাথে মিল রেখে , আমি নিম্নগামীদের বুঝতে পারি। কিছুটা ছোট মোচড় যেমন উচ্চতর প্রদীপের জন্য বৃহত্তর বেস থাকা, বা কেবলমাত্র প্রতিটি নবম স্কুইগলে বারবার সাজসজ্জা করা কিছুটা আলাদা হয়ে যায় would
manatwork

উত্তর:


4

পাইথ - 16 বাইট

শেডের জন্য এন এর পূর্বরূপীকরণ হওয়ায় শেডের জন্য উদ্ধৃতিগুলি ব্যবহার করুন।

*N4VQ+d`();"/__\

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

* 4            String repetition 4x, implicit print
 N             Preinitialized to Quote
VQ             For N in range(Q)
 +             String concat
  d            Space
   `()         Repr of empty tuple
;              Close for loop
"/__\          Implicitly print string, implicit close quote

5 এর জন্য নমুনা:

""""
 ()
 ()
 ()
 ()
 ()
/__\

7

স্নোম্যান 0.2.0 , 42 টি অক্ষর

)vg10sB]"[--]
"sP:" ()
"sP;bR"/__"sP92wRsP

নমুনা রান:

llama@llama:...Code/snowman/ppcg53483lamp$ snowman lamp.snowman
5
[--]
 ()
 ()
 ()
 ()
 ()
/__\

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

"/__"sP92wRsP

92ব্যাকস্ল্যাশ-এর ​​জন্য এএসসিআইআই কোড, wRএটি একটি অ্যারেতে আবৃত করে, এবং আমি এখন এটি দিয়ে মুদ্রণ করতে পারি sPকারণ স্নোম্যানের "স্ট্রিংস" আসলে সংখ্যার অ্যারে মাত্র।


7
আপনি কি স্নো ল্যাম্প বানাতে চান?
অ্যালেক্স এ।

3

> <> , 43 41 38 বাইট

"\__/"aiv
"&-1v!?:<&a" ()
~"!_\
?!;o>l

একটি কোড পয়েন্টের মাধ্যমে ইনপুট করুন, যেমন স্থানটি 32 হয় This এটি ল্যাম্পশেড হিসাবে প্রোগ্রামটির নিজস্ব কোডের কিছু অংশ ব্যবহার করে, ফলস্বরূপ এমন কোনও কিছুর স্যাটেলাইট থালার মতো দেখতে:

~\_!
 ()
 ()
 ()
 ()
 ()
/__\

(পরামর্শটি @ র্যান্ডোমরাকে ধন্যবাদ)

আরও তিনটি বাইটের জন্য, আমরা কিছুটা আরও কাস্টমাইজেশন যুক্ত করতে তৃতীয় লাইনটি পরিবর্তন করতে পারি:

"\__/"aiv
"&-1v!?:<&a" ()
__\"\~"/
?!;o>l

এটি সেই প্রদীপগুলির মধ্যে একটি তৈরি করে যা আলোকে উপরে রাখার আরও ভাল পদ্ধতির অভাবে:

\__/
 ()
 ()
 ()
 ()
 ()
/__\

3

আর, 54 52 46 বাইট

cat("RRRR",rep(" ()",scan()),"/__\\",sep="\n")

এই সংস্করণে, ইনপুট এবং আউটপুট প্রায় একসাথে মিশ্রিত হয়:

{ইন / আউট} পুট:

> cat("RRRR",rep(" ()",scan()),"/__\\",sep="\n")
1: 4
2: 
Read 1 item
RRRR
 ()
 ()
 ()
 ()
/__\

সম্পাদনা 1 : -2 বাইট @ মান্যাট ওয়ার্ক মন্তব্যে ধন্যবাদ
সম্পাদনা 2 : -6 বাইট। সম্পূর্ণ কৃতিত্ব আবার @ মানটওয়ার্কে যায়


1
চেহারা ছাড়া আর কিছুই পরিবর্তন হয় না: " /_\\"হওয়া উচিত "/__\\"। বিটিডব্লিউ, এটা কি \rপ্রয়োজনীয়?
manatwork

@ মান্যাটওয়ার্ক এটি প্রদীপের পায়ের আকার পরিবর্তন করেছে, এটি আরও স্থিতিশীল করে তুলেছে + আপনার মন্তব্যটি \rআমাকে দুটি বাইট বাঁচিয়েছে! আমার কোডটি আবার পড়তে হবে! ধন্যবাদ!
ফ্রিডরিক

1
হুম… অদ্ভুত সরঞ্জাম। অ-ইন্টারেক্টিভভাবে এটি কাজ করতে পারে না। যাইহোক, cat("RRRR",rep(" ()",scan()),"/__\\",sep="\n")কাজ বলে মনে হচ্ছে।
manatwork

@ মানাটওয়ার্ক: ভাল ... আমি কখনও ভাবিনি যে এটি কাজ করতে পারে! এটি প্রকৃতপক্ষে একটি দুর্দান্ত সমাধান। আর চমক পূর্ণ!
ফ্রিডরিক

বনজুর ফ্রেডেরিক, আপনি যদি এখনও পিপিসি তে সক্রিয় থাকেন তবে আপনি 5 বাইট সংরক্ষণ করতে পারবেন
জয়সি



2

জাভাস্ক্রিপ্ট ES6, 34 বাইট

i=>`|==|
${` ()
`.repeat(i)}/__\\`

নতুন লাইনগুলি তাৎপর্যপূর্ণ

5 এর ইনপুট সহ উদাহরণ:

|==|
 ()
 ()
 ()
 ()
 ()
/__\

2

সেড, 28 বাইট

s#.# ()\n#g
s#^\|$#/__\\\n#g

আনারি ইনপুট নেয়। ছায়াটি সুস্পষ্ট নির্বাচন (বেস হিসাবে একই)।

টেস্ট রান

$ echo -n 111 | sed -f lamp.sed
/__\
 ()
 ()
 ()
/__\


1

jq: 30 টি অক্ষর

(29 টি অক্ষর কোড + 1 অক্ষর কমান্ড লাইন বিকল্প))

8888,(range(.)|" ()"),"/__\\"

নমুনা রান:

bash-4.3$ jq -r '8888,(range(.)|" ()"),"/__\\"' <<< 3
8888
 ()
 ()
 ()
/__\

অন-লাইন পরীক্ষা ( -rইউআরএল মাধ্যমে পাস করা সমর্থিত নয় - কাঁচা আউটপুট নিজেই দেখুন))





1

হোয়াইটস্পেস , 169 বাইট

[S S S N
_Push_0][T  N
T   T   _Read_STDIN_as_integer][S S S T S T T   T   S S N
_Push_92_\][S S S T S T T   T   T   T   N
_Push_95__][S N
S _Duplicate_95__][S S S T  S T T   T   T   N
_Push_47_/][N
S S N
_Create_Label_LOOP][S S S N
_Push_0][T  T   T   _Retrieve_at_address_0][S S S T N
_Push_1][T  S S T   _Subtract][S N
S _Duplicate][S S S N
_Push_0][S N
T   _Swap_top_two][T    T   S _Store_at_address_0][N
T   T   S N
_If_neg_Jump_to_Label_PRINT][S S S T    S T S N
_Push_10_newline][S S S T   S T S S T   N
_Push_41_)][S S S T S T S S S N
_Push_40_(][S S S T S S S S S N
_Push_32_space][N
S N
N
_Jump_to_Label_LOOP][N
S S S N
_Create_Label_PRINT][S S S T    S T S N
_Push_10_newline][S S S T   S S S S T   N
_Push_33_!][S N
S _Duplicate_33_!][S N
S _Duplicate_33_!][S N
S _Duplicate_33_!][N
S S T   N
_Create_Label_LOOP_2][T N
S S _Print_as_character][N
S N
T   N
_Jump_to_Label_LOOP_2]

বর্ণ S(স্থান), T(ট্যাব) এবং N(নতুন-লাইন) কেবল হাইলাইট হিসাবে যুক্ত করা হয়েছে।
[..._some_action]শুধুমাত্র ব্যাখ্যা হিসাবে যুক্ত।

এটি অনলাইনে চেষ্টা করুন (কেবলমাত্র কাঁচা জায়গা, ট্যাব এবং নতুন লাইন সহ)।

সিউডো-কোডে ব্যাখ্যা:

সমস্ত অক্ষরকে স্ট্যাকের দিকে বিপরীত ক্রমে চাপ দেয় এবং তারপরে এগুলি একটি লুপে মুদ্রণ করে।

Integer i = STDIN as input
Push "\__/" to the stack
Start LOOP:
  i = i - 1
  if(i is negative):
    Go to function PRINT
  Push "\n)( " to the stack
  Go to next iteration of LOOP

function PRINT:
  Push "\n!!!!" to the stack
  Start LOOP_2:
    Print top as character to STDOUT
    Go to next iteration of LOOP_2

দ্রষ্টব্য: iউপরের সিউডো কোডটিতে প্রতিটি পুনরাবৃত্তিতে গাদাতে ফিরে জমা করা হয় LOOP, কারণ আমরা এটি শেষে ছাপার জন্য স্ট্যাকের উপর ছেড়ে যেতে চাই না।



1

05 এ বি 1 , 17 15 13 11 বাইট

„ (и„/_.ø)˜∞

-2 বাইট (17 → 15) @ ইরিকথঅউটগলফারকে ধন্যবাদ । @ ডাইজিমার ক্যানভাস উত্তর থেকে
অনুপ্রাণিত হওয়ার পরে -2 বাইট (13 → 11)

ক্যাপটি বেস ( /__\) হিসাবে একই ।

ব্যাখ্যা:

 (            # Literal string " ("
   и           # Repeat " (" the input amount of times
               #  i.e. " (" and 3 → [' (',' (',' (']
    „/_        # Literal string "/_"
             # Surround the list of " (" with "/_" on both ends
               #  i.e. [' (',' (',' ('] → ['/_',[' (',' (',' (',' ('],'/_']
         ˜     # Flatten this list
               #  i.e. ['/_',[' (',' (',' ('],'/_'] → ['/_',' (',' (',' (','/_']
              # Mirror each item
               #  i.e. ['/_',' (',' (',' (','/_'] → ['/__\',' () ',' () ',' () ','/__\']
               # And output the list new-line delimited (implicitly due to the mirror)

পুরানো 13 বাইট উত্তর:

„/_D (Iиs)˜∞

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


1

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

একটি বেনাম ওয়ার্কশিট ফাংশন যা ইনপুটটিকে পরিসীমা থেকে [A1]আউটপুট থেকে কলিং সেল হিসাবে নেয় ।

এই প্রদীপ বাদ্যযন্ত্র - এবং আপনার দিনকে বাঁচিয়ে রাখতে এবং আলোকিত করতে সহায়তা করবে।

="/\
"&REPT(" ()
",A1)&"/__\"

আউটপুট

আমি বাতি ভাসোবাসি


1

পাওয়ারশেল 5.1, 28 26 বাইট

ধন্যবাদ মজিকে 2 বাইটের জন্য

8008;," ()"*"$args";"/__\"

যেহেতু শেডটি কোনও 4 টি অক্ষর হতে পারে, একটি সংখ্যা ব্যবহার করে একজোড়া উদ্ধৃতি সাশ্রয় হয়। সবচেয়ে শক্ত অংশটি একটি সুন্দর দেখাচ্ছে ছায়া খুঁজে পেয়েছিল।

আউটপুট:

PS C:\Users\ItsMe\Desktop> .\scratch.ps1 4
8008
 ()
 ()
 ()
 ()
/__\

সুন্দর ল্যাম্প শেড)
অলস

1
এটি চেষ্টা করুন8008;," ()"*"$args";"/__\"
মজজি

1

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

print"-"*4+"\n ()"*input()+"\n/__\\"

ইনপুট 4 এর জন্য:

----
 ()
 ()
 ()
 ()
/__\

নোট করুন পাইথনের জন্য যে পাইপ ব্যবহার করে যে কোনও ল্যাম্প শেড বাইট কম হয়।

-1 বাইটস @ অ্যালেক্সকে ধন্যবাদ!


1
আমি মনে করি আপনি যদি ল্যাম্পশেডটিকে একটি একক চরিত্রে পরিবর্তন করেন এবং এটিকে 4 দিয়ে গুণ করেন তবে আপনি একটি বাইট সংরক্ষণ করতে পারেন:print"-"*4+"\n ()"*input()+"\n/__\\"
অ্যালেক্স


0

এসডাব্লুআই-প্রোলগ, 73 60 বাইট

a(X):-write(golf),writef("%r",["\n ()",X]),write("\n/__\\").

a(5). আউটপুট

golf
 ()
 ()
 ()
 ()
 ()
/__\

0

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

n->print("|~~|\n"*" ()\n"^n*"/__\\")

এটি একটি নামবিহীন ফাংশন তৈরি করে যা কোনও পূর্ণসংখ্যাকে ইনপুট হিসাবে গ্রহণ করে এবং স্টাডআউটে প্রিন্ট করে।

উদাহরণ:

julia> f(4)
|~~|
 ()
 ()
 ()
 ()
/__\

0

বাশ + কোর্টিলস, 37 বাইট

yes ' ()'|sed '1i####
'$1'{a/__\\
q}'

নতুন লাইনগুলি প্রয়োজনীয় এবং মোট বাইটগুলিতে গণনা করা হয়। জিএনইউ সেড প্রয়োজন।

চালান:

./squiggly_lamp.sh 2

আউটপুট:

####
 ()
 ()
/__\



0

জাভা 7 11, 84 83 37 বাইট

n->"i!!i\n"+" ()\n".repeat(n)+"/__\\"

এটি অনলাইনে চেষ্টা করুন। (দ্রষ্টব্য: জাভা 11 টি টিও তে এখনও সমর্থিত নয়, তাই একই বাইট-কাউন্টের জন্য String.repeat(int)অনুকরণ করা হয়েছে repeat(String,int)))

i!!iক্যাপ হিসাবে ব্যবহার । ¡!!¡আরও ভাল দেখাচ্ছে , তবে এটি আরও দুটি বাইট।

ব্যাখ্যা:

n->                    // Method with integer parameter and String return-type
  "i!!i\n"             //  Return the cap + new-line
  " ()\n".repeat(n)    //   appended with " ()" and a new-line `n` amount of times
  "/__\\"              //   append with "/__\"


0

সামনে , 38 বাইট

I"|MM|"Wr
~W" ()"oN<s!:-1~
@W"/__\"oN<

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

নমুনা

1
|MM|
 ()
/__\

2
|MM|
 ()
 ()
/__\

3
|MM|
 ()
 ()
 ()
/__\

2
আপনি কী কোনও অনলাইন পরীক্ষার পরিবেশের জন্য কোনও লিঙ্ক সরবরাহ করতে পারেন যাতে সহজেই আপনার জমা দেওয়া চালানো যায়?
জোনাথন ফ্রেঞ্চ



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