একটি বর্গ তৈরি করার চেষ্টা করুন!


20

কার্য

একটি নন-হোয়াইটস্পেস মুদ্রণযোগ্য অক্ষর দেওয়া, সেই ইনপুটটির একটি 3x3 বর্গ প্রতিনিধিত্ব করুন। উদাহরণস্বরূপ, যদি ইনপুট হয় #তবে আউটপুটটি হ'ল:

###
# #
###

বিধি

  • আউটপুট ফর্ম্যাটটি কঠোর, যদিও একটি অনুবর্তনযোগ্য নতুন লাইন অনুমোদিত। এর অর্থ হল যে মাঝের জায়গার প্রয়োজন হয় এবং তিনটি রেখা পৃথককারী দুটি নিউলাইন অক্ষরও প্রয়োজন।

Testcases

ইনপুট: #

আউটপুট:

###
# #
###

ইনপুট: A

আউটপুট:

AAA
A A
AAA

ইনপুট: 0

আউটপুট:

000
0 0
000

স্কোরিং

এটি । বাইট জিতে সংক্ষিপ্ত উত্তর।


2
আকারটি স্থির করে নেওয়া কিছু অপ্টিমাইজেশনের অনুমতি দেয়। উত্তরগুলি সংযুক্ত চ্যালেঞ্জ তৈরি করে সম্ভবত এখানে প্রতিযোগিতামূলক হবে না। সুতরাং আমি এটি একটি সদৃশ বলে মনে করি না
লুইস মেন্ডো

12
আমি হ'ল যিনি হ্রাস করেছিলেন, এটি একটি সাধারণ, বিরক্তিকর চ্যালেঞ্জ হওয়ার কারণে। আমি সাধারণত সহজ চ্যালেঞ্জের একটি অনুরাগী, কারণ তারা নতুন গল্ফারদের শুরু করার জন্য ভাল জায়গা তবে এটি কেবল খুব সহজ মনে হয়।
শেগি

32
@ আয়ংকোডার এটি একটি চ্যালেঞ্জকে হ্রাস করার উপযুক্ত বৈধ কারণ।
গম উইজার্ড

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

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

উত্তর:


30

কাঠকয়লা , 5 3 বাইট

B³S

এটি অনলাইন চেষ্টা করুন! সম্পাদনা করুন: @ কারাসোকমপুটিংয়ের জন্য 40% ধন্যবাদ সংরক্ষণ করা হয়েছে। ব্যাখ্যা:

B   Draw a box
³   3×3 (second dimension is implicit if omitted)
S   Using the input character

3
আমার মনে হচ্ছে এটি প্রতারণা করছে ...> _>
হাইপারনিউটারিনো 11:17

14
তারপরে অবশ্যই B³Sজীবিত জঞ্জালটিকে প্রতারণা করতে হবে।
ম্যাজিক অক্টোপাস আরন

1
কেন এই প্রতারণা হবে? @ কারসোকম্পিউটিং এবং নীল তার আনসারটি আমার কাছে সঠিক বলে মনে হচ্ছে
লুচ এইচ

1
আয়ুংকোডার "প্রতারণা" যেমন "সস্তা বলে মনে করেন" "আক্ষরিক প্রতারণার" মতো নয়; কোডটির একটি অন্তর্নির্মিত রয়েছে "অক্ষরের এস ব্যবহার করে একটি বাক্স প্রিন্ট করুন", এই চ্যালেঞ্জটির পক্ষে সবচেয়ে সংক্ষিপ্ত কোড: ১. ইনপুট পড়ুন। ২. মাত্রা নির্ধারণ করুন। 3. মুদ্রণ বাক্স। এই চ্যালেঞ্জটির উত্তর যৌক্তিকভাবে 2 বাইটের নিচে হবে না যদি ইনপুট অন্তর্ভুক্ত থাকে।
ম্যাজিক অক্টোপাস উরন

2
@ কারাসোকম্পুটিং আহ, বিড়ম্বনা - নিষ্ক্রিয় বর্গীয় আচরণ আমাকে ইউক্যালিডিয়ান অ্যালগরিদমকে আবার ভিজ্যুয়ালাইজ করার জবাবে আমাকে বিরক্ত করেছিল
নিল

48

গাজর , 11 বাইট

###
# #
###

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

প্রোগ্রামটি ক্যারেট-মোডে রয়েছে, যেখানে এসগুলি #ইনপুট দিয়ে প্রতিস্থাপন করা হয়।


26
কোনও প্রোগ্রাম যা প্রথমে সম্পূর্ণ অবৈধ দেখায় যখন অনুভূতি আসলে পুরোপুরি বৈধ।
এরিক আউটগলফার

3
@ এরিকথ আউটগল্ফার কখনও পার্লের কথা শুনেছেন?
NoOneIsHere

19

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

lambda s:s+s.join(s+'\n \n'+s)+s

এটি অনলাইন চেষ্টা করুন!
কারণ s='a': মাঝারিটি এটি s+'\n \n'+sতৈরি করে a\n \naএবং এতে s.joinপরিণত হয় ( গা bold় গুলি সেগুলি যুক্ত হয়) কারণ একটি স্ট্রিংটিকে পুনরাবৃত্ত হিসাবে গ্রহণ করে, তারপরে এটি দুটি অনুপস্থিত অক্ষরের সাথে ঘিরে থাকেaa\na a\naaa.join.join


এটি কীভাবে মাঝের লাইনে অক্ষর যুক্ত করে? আপনি দয়া করে উত্তর ব্যাখ্যা করতে পারেন?
নোটস 90

1
@ নোটস 90 একটি ব্যাখ্যা যুক্ত করেছেন সি:
রড

ধন্যবাদ আমি জানতাম না। জয়ন একটি স্ট্রিং পুনরাবৃত্তি করতে পারে।
নোটস 90

পাইথন 3 এ এটিও কাজ করে। খুব শীতল বিটিডাব্লু। (এছাড়াও, একই পদ্ধতি ব্যবহার করে 3*c+c.join('\n \n')+3*cবন্ধন 32 এ)
জোনাথন অ্যালান

15

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

3Y6*c

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

ব্যাখ্যা

3Y6   % Push predefined literal: [true true true; true false true; true true true]
*     % Implicitly input a character. Multiply element-wise by its code point
c     % Convert to char. Implicitly display. Char 0 is displayed as space

1
সেটা দ্রুত ছিল! 5 বাইট দ্রুত আসবে বলে আশা করিনি।
লুচ এইচ

2
কোড-গল্ফিংয়ের ভাষাগুলি, আপনি জানেন ... ¯ \ _ (ツ) _ / ¯
লুইস মেন্ডো

11
অবশ্যই, কারণ কেন আপনি [সত্য সত্য সত্যের জন্য পূর্বনির্ধারিত আক্ষরিক না থাকবেন; সত্য মিথ্যা সত্য; সত্য সত্য সত্য]
PunPun1000

11
@ PunPun1000 এর আসলে অনেক (একত্রে সংবর্তন সঙ্গে) যেমন আদর্শ ব্যবহৃত 8-সংযোগ মাস্ক ( মুর neighboorhood )
লুইস Mendo

3
যে ভয়ঙ্কর @LuisMendo, নতুন কিছু এখানে প্রতিদিন শিখতে, সব সময় নয় কোড golfing সম্পর্কে
PunPun1000

13

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

4×ð«û3ô»

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

INPUT    # ['R']                 | Implicit Input: 'R'
---------#-----------------------+-------------------------------
4×       # ['RRRR']              | Repeat string 4 times.     
  ð      # ['RRRR',' ']          | Push space onto top of stack.
   «     # ['RRRR ']             | Concatenate last 2 items.
    û    # ['RRRR RRRR']         | Palindromize.
     3ô  # [['RRR','R R','RRR']] | Split into 3 pieces.
       » # ['RRR\nR R\nRRR']     | Join with newlines
---------#-----------------------+-------------------------------
OUTPUT   # RRR                   | Implicitly print the top
         # R R                   | of the stack on exit.
         # RRR                   |

আসল ধারণাটি 30 বাইনারি নম্বর হিসাবে ব্যবহার করা (অসম্পূর্ণ, অন্য কেউ অন্য ল্যাং এ চেষ্টা করে):

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

30bûTIð«‡3ô»

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



11

পাইথন ৩.6 , ৩৩ বাইট

lambda c:f'{3*c}\n{c} {c}\n{3*c}'

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


সমস্যা নেই. দেখে মনে হচ্ছে এটি আসলে 3.6.1 চলছে; আপনি যদি চেষ্টা করেন import sysএবং তারপরে প্রতিবেদনে sys.version, এটি 3.5.2.2 এর পরিবর্তে 3.6.1 প্রদান করে। কেন এটি তখন শীর্ষে 3.5.৩.২ বলছে ধারণা নেই, মনে হয় তারা সেখানে কোনও ভুল করেছে!
নম্বরমানিয়াক

2
ওহ, হাহা, "আপনি যা পড়েন তা সবসময় বিশ্বাস করবেন না" - এর জন্য ধন্যবাদ!
জোনাথন অ্যালান

9

আরপিএল (বিপরীত পোলিশ লিস্প) , 60 টি অক্ষর

→STR 1 4 START DUP NEXT " " + SWAP + 4 ROLLD + + SWAP 2 PICK

(দ্রষ্টব্য যে "→" এইচপি 48 এবং সামঞ্জস্যপূর্ণ ক্যালকুলেটরগুলির একটি একক অক্ষর)

স্ট্যাকের তিনটি আইটেম রেখে আপনি যা চান তা দৃশ্যত উপস্থাপন করবে:

3.: "###"
2.: "# #"
1.: "###"

আপনি যদি এটিটিকে একটি স্ট্রিং হিসাবে ফেরত দেওয়ার জন্য জোর করেন, তবে নতুন টেস্টারের পাশাপাশি নতুন টেস্টারের অক্ষর যুক্ত করতে হবে এবং পরের পরীক্ষক হিসাবে ব্যায়াম হিসাবে রেখে দেওয়া পংক্তিগুলি একত্রিত করতে হবে।

ইনপুট (যে কোনও কিছু হতে পারে, স্ট্রিং হওয়ার দরকার নেই) প্রবেশ করা কোড ফল

ব্যাখ্যা:

  • →STR: স্ট্যাকের শেষ অবজেক্টটিকে স্ট্রিং করুন। (সুতরাং ইনপুট যে কোনও কিছু হতে পারে, যেমন একটি সংখ্যা a)
  • 1 4: নম্বরটি 1এবং 4স্ট্যাকে পুশ করুন ।
  • START [...] NEXT: লুপের মতো তবে কাউন্টার ভেরিয়েবলের অ্যাক্সেস ছাড়াই। স্ট্যাক (এখানে, আমরা শুধু ধাক্কা থেকে দুটি সংখ্যার লাগে 1এবং 4) এবং কোড executes [...]সংশ্লিষ্ট বার (এখানে চার বার)।
  • DUP: স্ট্যাকের শেষ এন্ট্রিটির নকল করুন।
  • " ": স্ট্যাকটিতে স্ট্রিংটি (অর্থাত্ একটি সাদা স্থানের সাথে স্ট্রিং) পুশ করুন ।
  • +: স্ট্যাক থেকে দুটি অবজেক্ট নিন এবং স্ট্রিংয়ের জন্য তাদের একসাথে যুক্ত ফিরিয়ে দিন: সংযুক্ত।
  • 4: 4স্ট্যাকের দিকে নম্বরটি চাপুন।
  • ROLLD: 4স্ট্যাকটি থেকে সর্বশেষ উপাদানটি (এখানে: আমরা সবেমাত্র ঠেলা দিয়েছি) গ্রহণ করে এবং পরবর্তী উপাদানটিকে স্ট্যাকের নীচে যতটা স্ট্যাক থেকে সুনির্দিষ্টভাবে নিয়েছি তারপরে রোল দেয়।
  • SWAP: দুটি শেষ স্ট্যাক উপাদান অদলবদল।
  • 2: 2স্ট্যাকের দিকে ধাক্কা ।
  • PICK: একটি উপাদান নেয় (এখানে: 2আমরা কেবল স্ট্যাকের দিকে ঠেলে দিয়েছি), এটি একটি সংখ্যা এন হিসাবে ব্যাখ্যা করে এবং স্ট্যাক থেকে নবম উপাদানটি অনুলিপি করে।

7

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

c=>c+c+c+`
${c} ${c}
`+c+c+c

চেষ্টা করে দেখুন

f=
c=>c+c+c+`
${c} ${c}
`+c+c+c
o.innerText=f(i.value="#")
i.oninput=_=>o.innerText=f(i.value)
<input id=i maxlength=1><pre id=o>


আমি মনে করি আপনি c+'\n'+cসাময়িকভাবে ফলাফল সংরক্ষণ করে একটি বা দুটি বাট বাঁচাতে সক্ষম হতে পারেন ।
নিল

কিছু মনে করবেন না, আমি ভুল হিসাব করেছি, এটি এখনও 28 বাইট।
নিল

@ নীল: হ্যাঁ, ভেরিয়েবলের জন্য স্টাফ বরাদ্দ করার জন্য বেশ কয়েকটি বিকল্প রয়েছে, তবে সেগুলি ২৮ বাইট বা তারও বেশি কিছুতে আসে।
শেগি

6

জেলি , 8 বাইট

1 বাইট আউটগলফার এরিককে ধন্যবাদ।

x4,`Ks3Y

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


আমি কীভাবে এটি করব তা ভাবছিলাম ... আমার কাছে x4µ©;⁶;®œs3Y12 বাইট ছিল কারণ পুনরাবৃত্তিটি আমার সম্পূর্ণ মধ্যবর্তী পদক্ষেপটি কী পরিমাণে বাড়ানো যায় তা আমি বুঝতে পারি না!
হাইপারনিউটারিনো

1
আপনি জানেন, করার Kজন্য একটি বিল্টিন রয়েছে j⁶। ওহ, এবং `উভয় পক্ষের একই যুক্তি ব্যবহার করে একটি ডায়াডকে মনাদে রূপান্তর করার জন্য একটি দ্রুত আছে ।
এরিক দ্য আউটগল্ফার

5

জাভা 7, 56 55 বাইট

-1 আমি যে জায়গাটি মিস করেছি সেটিকে নির্দেশ করার জন্য লিকি নুনকে ধন্যবাদ জানাই

String a(char s){return"...\n. .\n...".replace('.',s);}

ইনপুট # এর জন্য কেবল নির্দিষ্ট বর্ণের সাথে পিরিয়ডগুলি প্রতিস্থাপন করে:

...       ###
. .  =>   # #
...       ###

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


5

পিএইচপি, 32 বাইট

<?=strtr("000
0 0
000",0,$argn);

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


বেশ আকর্ষণীয়ভাবে <?=$a=$argn,"$a$a\n$a $a\n$a$a$a";(অবশ্যই real n এর পরিবর্তে বাস্তব লাইন বিরতি) ঠিক একই বাইট গণনা রয়েছে।
ক্রিস্টোফ

@ ক্রিসটফ এটি আপনার পদ্ধতির হিসাবে তৈরি করুন। আমি এই বিকল্প উপায়ে চেষ্টা
করিনি

5

সেড, 28 18 বাইট

s:.:&&&\n& &\n&&&:

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


এই নতুনটি কাজ করে না, পুরানোটি সম্পাদনা করেছে: এটি কিন্তু আপনি ভুলে গেছেন: অ্যাঞ্জারে
লুচ এইচ

অয়ৌংকোডার দুঃখিত, ফাইনালটি ভুল-পেস্ট করেছে :। সংশোধন করা হয়েছে।
eush77

অনলাইনের চেষ্টাটি হওয়া উচিত [এটি অনলাইনে চেষ্টা করুন!]: tio.run/nexus/sed#@19spWelpqYWk6emACLU1Kz@/0/… " সেড - টিআইও নেক্সাস"
লুচ এইচ

আইয়ংকোডার অবশ্যই, ধন্যবাদ
eush77

5

ব্রেন-ফ্লাক , 76 70 + 1 = 71 বাইট

-cপতাকা প্রয়োজন

(((((((({})))<((([])[]{}<>)<>)>)<(<>({})({}){}()()<>)>)<([]()()())>)))

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


আপনি যদি প্রতিস্থাপন (()()()()()){}করেন তবে আপনি 6 বাইট সংরক্ষণ করতে পারবেন ([])[]{}
0



4

ব্রেন-ফ্লাক , 61 , 59 বাইট

(((((((({})))<([][][]())>)<(([][][]()){})>)<([]()()())>)))

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

পতাকাটির +1জন্য এটি 58 বাইটের কোড বাইট -cযা ASCII ইনপুট এবং আউটপুটকে সক্ষম করে।

ব্যাখ্যা:

(((
   (
    (
     (

      #Duplicate the input 3 times
      ((({})))

#Push 10 (newline)
<([][][]())>

     #Push the input again
     )

#Push 32 (space)
<(([][][]()){})>

    #Push the input again
    )

#Push 10 (newline)
<([]()()())>)

#Push input 3 times
)))

4

সি (জিসিসি) , 49 47 বাইট

2501 ধন্যবাদ 2 বাইট সংরক্ষণ করা!

j;f(i){for(j=12;j;)putchar(--j%4?j-6?i:32:10);}

এটি অনলাইন চেষ্টা করুন! একটি পেছনের নিউলাইন রয়েছে


আপনি দুটি বাইট সংরক্ষণ করে সংরক্ষণ করতে পারেন:for(j=11;j;)...
2501


3

অক্টাভা , 36 বাইট

x=repmat(input(0),3);x(5)=32;disp(x)

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

ব্যাখ্যা

এটি ইনপুট চরের পুনরাবৃত্তি সহ একটি 3x3 চর ম্যাট্রিক্স তৈরি করে এবং এটি কলাম-প্রধান ক্রমে (যার কেন্দ্র) এটির 32(স্পেসের জন্য ASCII ) 5 তম এন্ট্রি সেট করে ।



3

রুবি , 27 25 বাইট

স্তরের রিভার সেন্টকে 2 বাইট সংরক্ষণ করা হয়েছে

->x{[s=x*3,x+" "+x,s]*$/}

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


আপনি যখন এ জাতীয়করণ করছেন, দয়া করে কোডটি হিসাবে পাদলেখকেও অন্তর্ভুক্ত করুন কারণ এটি ছাড়াই কার্যকর হয় না
এইচ

@ আয়ংকোডার এটি একটি অনামী কাজ function আপনি এটিকে কোনও ভেরিয়েবলের জন্য বরাদ্দ করতে পারেন ( f=...) তারপরে এটিকে কল করুনf.call(...)
সাইওস

1
আপনি "\n"1 বাইট সংরক্ষণের পরিবর্তে কোটরের ভিতরে একটি আক্ষরিক নিউলাইন ব্যবহার করতে পারেন । এমনকি আরও ভাল ব্যবহার $/যা ডিফল্ট হিসাবে নতুন লাইনে একটি বিশেষ চলক সেট - 2 বাইট সংরক্ষণ করা।
লেভেল রিভার সেন্ট

trসমাধানের চেয়ে 1 বাইট কম । সুন্দর কাজ
সাইওস

3

ব্রেইনফাক, 40 বাইট

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

এটি অনলাইন চেষ্টা করুন! এমন একটি বাস্তবায়ন প্রয়োজন যা প্রারম্ভিক অবস্থানের বামে অ্যাক্সেস করতে পারে।

এছাড়াও দেখুন: গ্র্যাভিটনের ব্রেইনফাক উত্তর যা আলাদা পদ্ধতির (তবে দীর্ঘতর) লাগে।


ব্যাখ্যা:

ব্রেইনফাক তার সীমিত নির্দেশের সেট সহ প্রচুর দুর্দান্ত কৌশল করতে পারে। দুর্ভাগ্যক্রমে, এই উত্তরটি তাদের কোনওটিই ব্যবহার করে না, কারণ এটি কেবলমাত্র হার্ডকোডের জন্য সস্তা (বাইটের শর্তে)।

+++++[->++<<++++++>]                         Sets the cells to |5*6|>0<|5*2|
,                   Takes input character into the middle cell | 30|>#<| 10|
...                                Print the top of the square | 30|>#<| 10| ###
>.                                   Print a newline character | 30| # |>10|    \n
<.                               Print another input character | 30|>#<| 10| #
<++.                  Add 30+2 for a space character and print |>32| # | 10|  _
>.                   And just print the 5 remaining characters | 32|>#<| 10|   #
>.                                                             | 32| # |>10|    \n
<...                                                           | 32|>#<| 10| ###

# = ইনপুট অক্ষর, _ = স্পেস (ASCII 32), \ n = নিউলাইন (ASCII 10)


এই সুন্দর বাক্সে ফলাফল (ইনপুট '+' এর জন্য):

+++
+ +
+++

3

05 এ বি 1 ই , 7 6 বাইট

-1 বাইট কারুসোমপুটিংয়ের জন্য ধন্যবাদ।

ж¹ðJû

ব্যাখ্যা:

         # Implicit input                  # ['R']
 Ð       # Repeat string three times       # ['R', 'R', 'R']
  ¶      # Push newline character          # ['R', 'R', 'R', '\n']
   ¹     # Push first input                # ['R', 'R', 'R', '\n', 'R']
    ð    # Push space                      # ['R', 'R', 'R', '\n', 'R', ' ']
     J   # Join stack                      # ['RRR\nR ']
      û  # Palindromize ("abc" -> "abcba") # ['RRR\nR R\nRRR']
         # Implicit output                 # []

সিপি -1222 এনকোডিং ব্যবহার করে । এটি অনলাইন চেষ্টা করুন!


ওওও ... স্মার্ট, নিউলাইনে কীভাবে প্যালিনড্রোমাইজ করা যায় তা নিয়ে আমি কখনই ভাবি না।
ম্যাজিক অক্টোপাস উরন

ж¹ðJû6 বাইট জন্য।
ম্যাজিক অক্টোপাস উরন

3

পাইথ , 11 বাইট

jc++K*z4dK3

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

ব্যাখ্যা:

jc++K*z4dK3    expects a single char as input

j              joins on new line
 c        3    chops array into 3 sized pieces
  +            joins +K*z4d and K
   +           joins K*z4 and d
    K          initialize variable K as *z4
     *z4       duplicate the input 4 times
        d      variable initialized to string " "
         K     calls variable K, in this case *z4

পিপিসিজিতে আপনাকে স্বাগতম!
স্টিফেন




2

সি #, 50 বাইট

a=>Console.Write(a+a+a+"\n"+a+" "+a+"\n"+a+a+a);

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

var f = new Action<string>(
a=>Console.Write(a+a+a+"\n"+a+" "+a+"\n"+a+a+a);
);
f("#");

আপনি সম্পূর্ণরূপে যোগ্যতা অর্জন করতে হবে Consoleঅর্থাতSystem.Console..
TheLethalCoder

2

ভিম, 9 টি কিস্ট্রোক

ধরে নিলাম ইনপুট চরটি একটি বাফারে উপস্থিত রয়েছে, ভিম এটিকে সোজা করে তোলে

x3pY2plr<space>

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


আমি নিশ্চিত যে এটি যতটা পেতে পারে তত ছোট। চমৎকার উত্তর!
ডিজেএমসিএমহেম

2

জেড 80 বা 8080 বিধানসভা, 21 বাইট মেশিন কোড

I / O ডিভাইস ম্যাপ করা একটি মেমরি ধরে নিন:

              জেড 8080
3 এ xx xx এলডি এ, (ইনপুট) এলডিএ ইনপুট; ইনপুট চরিত্র পান
11 0 এ 20 এল ডি ডি, 200ah এলএক্সআই ডি, 200ah; স্পেস এবং নিউলাইন
21 yy yy ld hl, আউটপুট lxi এইচ, আউটপুট; আউটপুট ঠিকানা পান
77 এলডি (এইচএল), একটি মুভি এম, এ; আউটপুট চরিত্র * 3
77 এলডি (এইচএল), একটি মুভি এম, এ
77 এলডি (এইচএল), একটি মুভি এম, এ
73 এলডি (এইচএল), ই মুভি এম, ই; আউটপুট নিউলাইন
77 এলডি (এইচএল), একটি মুভি এম, এ; আউটপুট অক্ষর
72 এলডি (এইচএল), ডি মুভি এম, ডি; আউটপুট স্পেস
77 এলডি (এইচএল), একটি মুভি এম, এ; আউটপুট অক্ষর
73 এলডি (এইচএল), ই মুভি এম, ই; আউটপুট নিউলাইন
77 এলডি (এইচএল), একটি মুভি এম, এ; আউটপুট চরিত্র * 3
77 এলডি (এইচএল), একটি মুভি এম, এ
77 এলডি (এইচএল), একটি মুভি এম, এ
76 হোল্ট এইচএলটি; অথবা সি 9 রিট

কোন দোভাষী প্রয়োজন!

Hexdump:

0000: 3A 00 এফএফ 11 0 এ 20 21 01 এফএফ 77 77 77 73 77 72 77
0010: 73 77 77 77 76

যেখানে ইনপুট ঠিকানাটি FF00h এ থাকে এবং আউটপুট ঠিকানাটি এফএফ 011 এ ম্যাপ করা হয়। প্রকৃত ঠিকানাগুলি প্রকৃত হার্ডওয়্যারের উপর নির্ভর করবে। অবশ্যই এটি ধরে নেয় I / O মেমরি ম্যাপযুক্ত। যদি এটি I / O ম্যাপযুক্ত হয় তবে এটি বেশ কয়েকটি অতিরিক্ত বাইট লাগবে কারণ Z80 এবং 8080 I / O নির্দেশিকা প্রতিটি দুটি বাইট। এটি আউটপুট ডিভাইস 0Ah কে একটি নতুন লাইন হিসাবে ব্যাখ্যা করে এবং একটি সিআর (0 ডিএইচ) প্রয়োজন হয় না যা প্রোগ্রামে অতিরিক্ত 4 বাইট যোগ করবে।


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

আপনি কি আপনার কোডের একটি হ্যাক্সডাম্প সরবরাহ করতে পারেন?
ক্যালকুলেটরলাইন

হেক্স বাইটস প্রথম কলামে রয়েছে, তবে আপনি যদি একটি "খাঁটি" হেক্সডাম্প চান তবে আমি এটি যুক্ত করেছি।
ড্যান হাওয়েল

2

জে-উবি , 22 20 বাইট

-2 বাইটস @ জর্দানকে ধন্যবাদ

:tr&"...
. .
..."&?.

ব্যাখ্যা

String#trরুবির চরিত্র অনুসারে প্রতিস্থাপন পদ্ধতি। প্রথমটি এর &সাথে আবদ্ধ :trহয় "...\n. .\n..."এবং দ্বিতীয়টি '.'এটিতে আংশিকভাবে প্রযোজ্য । কার্যকরভাবে, এই হয়->s{"...\n. .\n...".tr('.',s)}


এখানে :trপাশাপাশি কাজ করবে :gsub?
জর্ডান

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