আপনার কোডের একটি নেতিবাচক মুদ্রণ করুন


100

নীচের দিকের মতো পাশের দৈর্ঘ্যের N এর জন্য প্রিন্টযোগ্য এএসসিআইআই অক্ষরের (কোড পয়েন্ট 0x20 থেকে 0x7E) একটি বর্গ বিবেচনা করুন (এখানে, এন = 6 ):

=\    
 g \  
7     
m+y "g
  L ~ 
e> PHq

আমাদের প্রতিটি সারি এবং প্রতিটি কলামে কমপক্ষে 1 স্পেস এবং 1 অ-স্পেস অক্ষর থাকতে হবে। (উপরের উদাহরণ এটি সন্তুষ্ট।)

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

  1234
a b cd  
 ZYXWV
   !  
{} [ ] 
  ?   

স্পেসহীন অক্ষরের পছন্দ অপ্রাসঙ্গিক (যতক্ষণ না তারা মুদ্রণযোগ্য এএসসিআইআই ব্যাপ্তির হয়)।

চ্যালেঞ্জ

পার্শ্ব দৈর্ঘ্যের N> 1 সহ বর্গ উত্স কোড সহ আপনি একটি প্রোগ্রাম লিখতে যা STDOUT এ নিজের একটি নেতিবাচক মুদ্রণ করে। পিছনের শূন্যস্থানগুলি আছে ছাপা হবে। আপনি একক ট্রেলিং নিউলাইন প্রিন্ট করতে পারেন বা নাও করতে পারেন।

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

বিজয়ী হ'ল সর্বনিম্ন পাশের দৈর্ঘ্যের এন সহ প্রোগ্রাম । টাই হওয়ার সময়ে, উত্স কোডের কয়েকটি অ-স্থানের অক্ষরের সাথে জমাটি জয়ী। যদি এখনও একটি টাই থাকে তবে প্রথম উত্তর জিততে পারে।


কোনও ফাংশনের রিটার্ন মান গ্রহণ করা হয় বা এটি STDOUT এ মুদ্রিত করা উচিত?
পল গিয়ট

1
@ পলগ্যোত এই চ্যালেঞ্জের জন্য, দয়া করে সম্পূর্ণ প্রোগ্রাম এবং স্টাডিউটকে আটকে দিন (এটি যেমন আলগাভাবে বলা যায়, একটি চতুর রূপ)।
মার্টিন ইন্ডার

আপনার স্পষ্ট করা উচিত যে বোর্ডের আকার অবশ্যই এন> 0 হতে হবে । আমি দেখতে পাচ্ছি যে আপনার উদাহরণটি এন> 1 নির্দিষ্ট করে (এবং আপনি কি এন> = 1 ?) বোঝাতে চেয়েছিলেন তবে এটি নিয়মে যথাযথ নয়।
imallett

2
@ কমপ্লেট দ্বারা বোঝানো হয়েছে "আমাদের প্রতিটি সারি এবং প্রতিটি কলামে কমপক্ষে 1 স্পেস এবং 1 অ-স্পেস অক্ষর থাকা দরকার"। অপেক্ষা করুন। না। না। ভাল যুক্তি. যদিও এটি এন == 0 || এন> 1 বোঝায়।
জন ডিভোরাক

1
@ জেপকোপার হ্যাঁ, এটি একটি বর্গক্ষেত্র, তবে এটি সন্তুষ্ট হয় না "আমাদের প্রতিটি সারি এবং প্রতিটি কলামে কমপক্ষে 1 স্পেস এবং 1 অ-স্পেস অক্ষর থাকা দরকার" " কারণ প্রথম এম কলামগুলিতে স্পেস নেই এবং শেষ এন কলামগুলিতে ফাঁকা স্থান নেই।
মার্টিন ইন্ডার

উত্তর:


18

সিজেএম, 4 এক্স 4 (8 টি ফাঁকা স্থান)

 L _
{ _ 
 _ }
_ p 

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

আউটপুট

{ _ 
 _ }
{ _ 
 _ }

কিভাবে এটা কাজ করে

  • Lএকটি খালি অ্যারে _ধাক্কা দেয় এবং এর একটি অনুলিপি চাপ দেয়।

  • বাধা

    { _ 
     _ }
    

    স্ট্যাকের উপর যে ব্লক ধাক্কা।

  • _কোড ব্লকের একটি অনুলিপি চাপ দেয় এবং pএটি মুদ্রণ করে, তারপরে একটি লাইনফিড থাকে।

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

বিকল্প সংস্করণ

 L ~
{ _ 
 p }
_ ~ 

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

আউটপুট

{ _ 
 p }
{ _ 
 p }

কিভাবে এটা কাজ করে

  • Lএকটি খালি অ্যারে ধাক্কা দেয় এবং ~এটিকে ফেলে দেয়। স্ট্যাকটি আবার খালি।

  • বাধা

    { _ 
     p }
    

    স্ট্যাকের উপর যে ব্লক ধাক্কা।

  • _ব্লকের একটি অনুলিপি ধাক্কা দেয় এবং ~অনুলিপি কার্যকর করে।

    _ব্লক কপি ভিতরে মূল ব্লক, যা একটি কপি ধাক্কা হবে pপ্রিন্ট হবে, একটি লাইনফীড করে।

  • পরিশেষে, দোভাষী সেটিকে বাকী জিনিসটি স্ট্যাকের মধ্যে মুদ্রণ করে: মূল কোড ব্লক।


104

পার্ল, 7 × 7 (42 টি ফাঁকা স্থান)

for$i( 
1..56 )
{$_= $i
%8? $i%
7? $":7
: $/;1;
 print}

আউটপুট:

      7
     7 
    7  
   7   
  7    
 7     
7      

10
এটি কোডের একটি দুর্দান্ত টুকরো যা আমি দীর্ঘ সময় দেখেছি।
কাসরান

সোজা এবং সহজ, কিন্তু বেশ বিরক্তিকর। এখনও +1।
নোভা

8
এটি যদি কোনও 7তৈরির প্রদর্শন করে তবে এটি আরও দুর্দান্ত হবে 7। :)
এএল

1
@ আালার জন্য আরও 8 টি অক্ষর প্রয়োজন (7 স্পেস এবং একটি নতুন লাইন)।
কিউস

77

সিজেএম, 4 এক্স 4 ( 12 10 অ ফাঁকা স্থান)

 6, 
SS +
* 4/
 N* 

আউটপুট:

0  1
  2 
 3  
4  5

পূর্ববর্তী সংস্করণ 12 অ ফাঁকা স্থান সহ:

 4a4
* 4S
** 4
/N* 

এবং আউটপুট হয়

4   
 4  
  4 
   4

মার্টিন দ্বারা চিহ্নিত হিসাবে, এই সংস্করণ আছে

  • 4 স্পেস,
  • 4 * ,
  • 4 4 ,
  • 4 অন্যান্য অক্ষর, এবং
  • 4আউটপুট হিসাবে 4

;)

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


22
এটিতেও 4 টি upvotes রয়েছে, তবে আমি এটি আপনার জন্য লুণ্ঠন করতে চলেছি। দুঃখিত! :-D
চটজলদি ossifrage

7
সম্ভবত আমরা এটি 44 এ পেতে পারি? +1 :)
ডোরকনব

4
গতি 4 till 4 পর্যন্ত চালিয়ে যান
অপ্টিমাইজার

17
4 ^ 4 == 0 হয় না? ;)
zennehoy

1
হ্যাঁ, আমি এটিকে পছন্দ করি না যে বিটওয়াইজ এক্সওর প্রতীকটি চুরি করেছিল যা ব্যবহারকারীর জন্য ব্যবহার করা উচিত ছিল। কোড পঠনযোগ্যতা, সততার সাথে মিশে যায়।
সুপারজেডি ২২৪

50

মার্বেলস - 16x16

....@0..@1....  
@3..0A08..@2  ..
/\--....>1  ..Hp
..@2..\\  =0@3..
ss..//  --\\\\..
@0/\  @1/\Hp..!!
:s  #the-cake-is
  2020#a-pie/lie

এখানে পরীক্ষা! ফাঁকা জায়গা, নলাকার বোর্ড এবং লাইব্রেরি অন্তর্ভুক্ত সমস্ত স্থান অবশ্যই পরীক্ষা করা উচিত।

আউটপুট

              07
            06  
          05    
        04      
      03        
    02          
  01            
01              

ব্যাখ্যা

এখানে দুটি বোর্ড রয়েছে: প্রধান বোর্ড (নীচে দেখানো হয়েছে) এবং ssবোর্ড, যা কোনও ইনপুট নেয় না এবং দুটি স্পেস (0x20) এসটিডিআউটে আউটপুট দেয়।

একটি ফাঁকা ঘর একটি এর সমতুল্য .., এবং এর পরে যা কিছু থাকে #তা একটি মন্তব্য।

বোর্ডের ছবি

প্রতিটি টিক, ssদুটি স্পেস STDOUT এ আউটপুট করে।

সবুজ পথটি একটি সরল লুপ যা প্রতি 7 তম টিকের শেষে একটি নিউলাইন (0x0A) আউটপুট করে।

নীল পথটি Hp6th ষ্ঠ টিকের শেষে আউটপুটে উপস্থিত সংখ্যাগুলি ( দুটি মার্সার দুটি অঙ্ক হিসাবে মার্বেল প্রিন্ট করবে ) আউটপুট দেবে।

আমরা 01একবার মুদ্রণের পরে, লুপটি শেষ হয়ে যায় এবং লাল পথটি নীচে চলে যায়, যা এই মার্বেলের নকল করে।

একটি সদৃশ মুদ্রিত হয় (দ্বিতীয় 01), এবং অন্যটি কালো পথের নিচে প্রেরণ করা হয়, যা !!ঘরের বোর্ডটি সমাপ্ত করে । Hpএই শেষ মুদ্রণটিতে ব্যবহৃত অবস্থানের কারণে, একই টিকের দুটি স্পেসের আগে01 উপস্থিত হওয়ার পরে, অন্য প্রতিটি Hpকলের আচরণ হিসাবে উপস্থিত হয় ।


9
উত্সের গ্রাফিকাল উপস্থাপনার জন্য উত্সাহ দেওয়া।
রিকিং king

35

পাইথন - 11x11

import re
[print(
    re.sub(
"0",   " ",
bin(x)[
2:].zfill(
11)))for x
in[19,15,
1920,116,
15,1,5,3,
3,3, 67]]

আউটপুট

      1  11
       1111
1111       
    111 1  
       1111
          1
        1 1
         11
         11
         11
    1    11

এটি একটি সুন্দর অগোছালো এবং বিরক্তিকর সমাধান, তবে আমি কেবল ভেবেছিলাম যে আমি এটি প্রদর্শন করব ...

  1. পাইথনে এটি করা যেতে পারে
  2. আপনি যদি নিজের কোডের চেয়ে আপনার কোডটি সংক্ষিপ্ত আকারে কমপ্রেস করতে পারেন তবে আপনি এই জাতীয় কিছুটি টানতে পারেন :)

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


33

পাইথন - 7x7 (37 টি ফাঁকা স্থান)

print( 
'%+7s' 
'\n'%1 
*6+'%' 
'-7s'% 
111111 
      )

আউটপুট

      1
      1
      1
      1
      1
      1
111111 

%কাজটি করার জন্য পাইথনের পুরাতন স্ট্রিং ফর্ম্যাটিং অপারেটরটি ব্যবহার করুন : +7এবং -7ডান / বাম ন্যায়সঙ্গততার যত্ন নিন printএবং বিশেষত শেষের বন্ধনীর সাথে মিলের জন্য শেষ স্থান space বিন্যাসের স্ট্রিং প্রস্তুত করতে, আমাদেরও রয়েছে

  • লাইনগুলি জুড়ে স্ট্রিং লিটারেলের স্বয়ংক্রিয় সংক্ষিপ্তকরণ এবং
  • গুণ দ্বারা স্ট্রিং পুনরাবৃত্তি (একের মূল্যের জন্য আমাদের একাধিক প্রতিস্থাপন ক্ষেত্র সরবরাহ করে)

18

জাভাস্ক্রিপ্ট (9x9)

 i=9;q=""
; for(;++
i< 91;){;
var q=q+(
!(i% 10.0
)?1:" ");
;i%9|| (q
+="\n") }
alert(q) 

আউটপুট

1        
 1       
  1      
   1     
    1    
     1   
      1  
       1 
        1

নোট

আমি কোনও আকারের ত্রিভুজ সহ একটি বর্গক্ষেত্রের জন্য কোডটি (আমার যোগ্যতার সেরাতে) তৈরি করেছি এবং গল্ফ করেছি:

q="";for(i=***n***;++i<***n^2+n+1***;i%***n***||(q+="\n"))q+=i%***n+1***?"0":1

পাশের দৈর্ঘ্য n এর উপর নির্ভর করে ধ্রুবকগুলির সাথে *** এসএসডিএফ *** সংখ্যাগুলি প্রতিস্থাপন করা, উদাহরণস্বরূপ এন = 6 এর জন্য:

q="";for(i=6;++i<43;i%6||(q+="\n"))q+=i%7?" ":1

তবে, কোডটি 46 এর দৈর্ঘ্য হওয়া সত্ত্বেও, কোডটি 9 টি 9 এর মতো বড় না হওয়া পর্যন্ত কোডটির তির্যক একটি স্থানের সাথে লাইন করার জন্য আমি স্থির স্থানটি পেলাম না (5 তম)

সম্পাদনা করুন: সতর্কতা যুক্ত করতে পরিবর্তন করা হয়েছে ()। আগে:

 i=9;q=""
; while((
++ i)<91)
{q= q+""+
""+( "")+
(!((i %10
))?1:" ")
;i%9||( q
+="\n")} 

আহ, হ্যাঁ, উফ, আমি কী বলতে চাইছি তা দেখছি। আমি এখনই ঠিক করে দিচ্ছি, দুঃখিত।
কুয়েলিন লি

পি: আপনি ওইখানে কিছু unitialised গ্লোবাল ভেরিয়েবল পেয়েছেন
Tomáš Zato

16

সিজেএম, 5x5, 12 অ ফাঁকা স্থান

কোনও বিজয়ী নন, তবে আমি বরং একটি ছোট এবং বিরল জমা দিতে চাইছিলাম , কারণ বেশিরভাগ উত্তর কেবল একটি তির্যক মুদ্রণ করে।

 1 ]
D * S
 * 5
/ N *
 1 ; 

কপি করে প্রিন্ট

1 1 1
 1 1 
1 1 1
 1 1 
1 1 1

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

কোডের শেষ দুটি অক্ষর, কিছু করবেন না, সুতরাং এটিতে কেবলমাত্র 10 টি বাইটের আসল কোড রয়েছে। একটি ছোট গ্রিডের জন্য, আমি এটি আরও দুটি বাইট দ্বারা 8 এ কমিয়ে ফেলতে পারি, তবে এটি 3x3 এ ফিট করে না এবং এই কোডটি এমনকি গ্রিড আকারের জন্যও কাজ করে না।

কিভাবে এটা কাজ করে:

1]           "Push [1].";
  D*         "Repeat 13 times.";
    S*       "Riffle with spaces.";
      5/     "Split into runs of five elements.";
        N*   "Join those with line breaks.";
          1; "Push and pop a 1. No-op.";

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

14

বেফুঞ্জ , 9x9

কেন আমি এটি করেছি আমার কোনও ধারণা নেই। এটা তোলে নেন উপায় অতি দীর্ঘ। আমার এখন প্রচণ্ড মাথা ব্যথা।

8>v_20gv 
v9<^v#<4 
1@,/<>^6 
v1,*$:<p 
->,!-^87 
:^*25<^g 
_88g,^^4 
9vp\v#6< 
        @

আউটপুট:

        @
        @
        @
        @
        @
        @
        @
        @
$$$$$$$$ 

কিছু ব্যাখ্যা

কোডটি গ্রিড থেকে "উড়ানের দিকে" থেকে অক্ষরগুলি gপড়ার জন্য @(এবং চূড়ান্ত স্থানটিও যা @ / 2) যা pব্যবহার করে এবং শেষ আউটপুট লাইনটি লেখার জন্য লুপটি পরিবর্তন করতে ব্যবহার করে।

কোডের উপর প্রতি একক চরিত্র পারেন কোড হিসেবে বা তথ্য (যেমন, কিছু সময়ে ব্যবহার করা হয় 9এবং @দুই গত লাইন)।

কোডটি কাজ করতে আমাকে মূলত অনেকগুলি কাজ করতে হয়েছিল। নির্দেশিকা নির্দেশক মৃত্যুদন্ড কার্যকর করার সময় একাধিক ছেদ করে, যার মধ্যে কিছু লাফিয়ে যায়। (আমি সেখানে কোনও নির্দেশনা হস্তক্ষেপের কারণে বিভিন্ন দিকনির্দেশের জন্য ব্যবহার করতে পারি নি N কোনও নপ নেই)) অন্য কোথাও আমি হয় একই চরিত্রটিকে পুনরায় ব্যবহার করেছি বা কেবল এটি অনিদ্র করে রেখেছি ( $:মাঝখানে দেখুন)।

আমি স্ট্যাকের উপর কিছু সৃজনশীল কাজও করেছি:

  • যখন (অভ্যন্তরীণ) অক্ষর রাইটিং লুপটি সমাপ্ত হয় (এই লাইনের জন্য করা সমস্ত স্থান), স্ট্যাকটি রয়েছে n,0। আমি তখন হ্রাস করতে হবে n। সুস্পষ্ট সমাধানটি হবে $1-তবে আমি এটি ব্যবহার করে এটি সংক্ষিপ্ত করতে সক্ষম হয়েছি !-
  • (বাইরের) লাইন রাইটিং লুপটি সমাপ্ত হলে (সমস্ত সাধারণ লাইন মুদ্রিত), স্ট্যাকটিতে একটি থাকে 0। আমি তখন কোড চেঞ্জার ( 20g46p7g46\p) ব্যবহারের 0জন্য 2 অক্ষর নষ্ট করার পরিবর্তে এটির ব্যবস্থা করেছিলাম $0

বেফুঞ্জ সবসময় আমার কাছ থেকে একটি +1 পায়। ভাল লাগছে !-; এটাই আমি করতাম। মজাদার ঘটনা: Funge-98-এ, zএকটি এনওপি।
কাসরান

@ কসরান হ্যাঁ zউইকি তালিকাভুক্ত করা হয়নি এবং আমি ব্যবহৃত এই কোডিং জন্য, যার অর্থ কোনো অ-কমান্ড আইপি দিক ফ্লিপ। একটি জায়গায় NOP হওয়া উচিত বলে অনেক কিছুর 70% কোড রিফ্যাক্টর করতে হয়েছিল।
পূর্কাকাডারী

ভাল, এটি করার সুবিধাটি হ'ল আপনার কোডটি বেফঞ্জ -৯৯ (যেটি আমি বিশ্বাস করি না যে কোনও স্পেস নন-এনওপ রয়েছে) চালানো হবে পাশাপাশি 98; যেহেতু এটি 95 ব্যবহার করা অনেক বেশি শক্ত, তাই আমি সবসময় তাদের উত্তরগুলি অতিরিক্ত চিত্তাকর্ষক পেয়েছি।
কাসরান

13

পাইথন 3, 8x8

50 অ-স্পেস অক্ষর এবং 14 স্পেস রয়েছে। শেষ লাইনে একটি অকেজো চরিত্র রয়েছে তবে বাকি সমস্ত কিছুই প্রয়োজনীয়।

(*_,q,n 
)=p=''' 
       p
'''[2:] 
print(p 
*2+q*7, 
n+p*4+p 
[0:-1]) 

আউটপুট:

       p
       p
ppppppp 
       p
       p
       p
       p
       p

2
কেবল তার সাথে (a,*b,c)="12345"অভিনয় করার চেষ্টা করেছি ... তারকাচিহ্নিত নিয়োগটি আকর্ষণীয় :)
Sp3000

@ sp3000 ধরণের হাস্কেল-এস্কো। আমি হাস্কেলের চেয়ে অজগর পথটি বেশি ব্যবহার করি, কীভাবে আমি এটি জানতাম না
আন্ডারগ্রাউন্ডোমোনাইল



9

সি ++, 12x12

সম্পাদনা করুন: সুতরাং, আমি এই চ্যালেঞ্জের সাথে কিছুটা আবেশিত হয়েছি এবং এটিকে 17x17 থেকে 12x12 এ নামিয়ে আনতে সক্ষম হয়েছি। আমি /**/টোকেন ডিলিমিটার হিসাবে ব্যবহার করতে পারি বুঝতে পেরে আমাকে কিছুটা সময় লেগেছে । এই কোডটি এই সত্যটির সুবিধা গ্রহণ করে যে একটি লাইন স্প্লাইস তার পরে স্পেসের সাথে কলংয়ে কাজ করে যদিও এটি সতর্কতা দেয় এবং কোডটির কোডকোডকে নষ্ট করে দেয়।

#include<c\ 
stdio>/***/ 
int/**/mai\ 
n(){for(in\ 
t/**/i=0;i\ 
<12;++i)pr\ 
intf(i^8?"\ 
           \
|\n":"~~~~\ 
~~~~~~~\x2\ 
0\n");}/**/ 

আউটপুট:

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

5

বেফুঞ্জ -98 , 8x8 (56 টি ফাঁকা স্থান নয় [১১ টি nops])

দ্রষ্টব্য: ভাল ক্রীড়া-ব্যক্তি-জাহাজের স্বার্থে, এটি তার নিজস্ব উত্সটি পড়ে 'কিছুকে প্রতারণা করে। এখানে বিতর্ক পড়ুন ।

কার্যক্রম

 07'?>:8v
v y+da:%<
<v ':vj!-
,+# '<zzv
v1#a vj!<
>z,\1 -\v
z>+,$v z<
1_@#:<v -
zzzzzv<z 

আউটপুট

(       
 ,      
  &     
   %    
    $   
     #  
      " 
       !

ব্যাখ্যা

আন-গল্ফ সংস্করণ

07'?>:8%:ad+y-!jv>'n,$v
  !jv   a,\1-\v > 's,  
    >         >       v
    v-1_@#:           <

(অযোগ্য স্থান এবং স্থান পড়ার যোগ্যতার জন্য 'n এবং' এর সাথে প্রতিস্থাপিত হয়েছে))

এই সমাধানটি এই ভিত্তিতে ভিত্তি করে তৈরি করা হয়েছে যে বর্গাকার প্রস্থের একটি সূচক [0, প্রস্থ ^ 2) মোড ব্যবহার করে আপনি বলতে পারবেন যে আপনি সারিটির শেষে বা তির্যকটিতে আছেন। যেহেতু সমস্ত স্থানটি তির্যক বরাবর স্থাপন করা হয়েছে, তাই কোনও ফাঁকা স্থান কখন মুদ্রণ করা যায় তা সহজেই বলা যায়!

সিউডোকোডে

const int WIDTH = 8
push 0    //Because of the way the 'y' instruction works when picking
int row=7 //8-1 rows
int i=63  //Starting at the end allows for the cheaper i != 0
do
{
    pick variable row from the stack bottom + 1//ad+y
    if(i%WIDTH == row)
    {
        print non-space
    }
    else
    {
        print space
        if(i%WIDTH == 0)
        {
            print new-line
            --row
        }
    }
  --i
}
while(i != 0);

আলোচনা

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

বেফুঙ্গশার্প দিয়ে উইন্ডোজ এ চেষ্টা করুন !


4

সিজেএম, 4 এক্স 4 (8 টি ফাঁকা স্থান)

 N a
` S 
 * N
X $ 

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

আউটপুট

[ " 
 " ]
[ " 
 " ]

কিভাবে এটা কাজ করে

  • Nএকটি সিঙ্গলটন স্ট্রিং হিসাবে একটি লাইনফিড ঠেলা। aএকটি অ্যারের মধ্যে স্ট্রিং মোড়ানো।

  • ` ফলাফলটি পরীক্ষা করে, অর্থাত্ এটি অ্যারের স্ট্রিং প্রতিনিধিত্বকে ধাক্কা দেয়।

    এটি ফলাফল:

    ["
    "]
    
  • S*ফলাফলগুলি ব্যবহার করে স্ট্রিংগুলিতে (অক্ষরের অ্যারে) যোগ দেয়, স্পেস ব্যবহার করে এর উপাদানগুলি পৃথক করে। অন্য কথায়, এটি স্ট্রিংয়ের সংলগ্ন অক্ষরের সমস্ত জোড়ার মধ্যে একটি স্পেস অক্ষর রাখে।

    এটি ফলাফল:

    [ " 
     " ]
    
  • N অন্য লাইনফিড ধাক্কা।

  • X$ সূচক 1 এ স্ট্যাক আইটেমটি অনুলিপি করে (উপরে থেকে গণনা করা), অর্থাত্ মাল্টি-লাইন স্ট্রিং।

  • শেষ অবধি, দোভাষী স্ট্যাকের সমস্ত আইটেম মুদ্রণ করে: মূল মাল্টি-লাইন স্ট্রিং, লাইনফিড এবং মাল্টি-লাইন স্ট্রিংয়ের অনুলিপি।


4

SOGL V0.12 , 2x2 (2 অ-ফাঁকা স্থান)

2 
 ╚

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

আউটপুট

 /
/ 

ব্যাখ্যা

এসওজিএলে সর্বশেষ ব্যতীত সমস্ত লাইনই রেখাগুলি প্রতিস্থাপন করছে - এটি ধারাবাহিক কোডের সর্বত্র সর্বত্র প্রতিটি লাইনের সাথে রেখার শেষ অক্ষর প্রতিস্থাপন করে। সুতরাং এখানে প্রথম লাইন হয় replace space with 2 in the next line
তারপরে পরবর্তী লাইনটি 2╚কার্যকর হয়: 22 টিপায় এবং আকার 2 এর তির্যক তৈরি করে।



3

রুবি, 8x8 7x7

 print(
 (?f+"\
 "*6+?\
 )*6).!
 $><<"\
 f"<<!1
;      

আউটপুট:

f      
f      
f      
f      
f      
f      
 ffalse

পূর্ববর্তী সংস্করণ, 20 স্পেস সহ 8x8:

  puts((
  "ff"+#
  ?\s*6+
  ?\n)*7
  );$><<
  ?\s*2+
  ?f;p:p
.!

আউটপুট:

ff     
ff     
ff     
ff     
ff     
ff
ff     
  ffalse

3

পুশি , 4x4 বর্গ

ভাষা প্রতিদ্বন্দ্বিতা হিসাবে প্রতিদ্বন্দ্বিতা পোস্ট পোস্ট হিসাবে:

কোড:

 H32
2 C4
:" } 
\o/

আউটপুট:

d   
 d  
  d 
   d

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

হোয়াইটস্পেস পুশিতে অপ্রাসঙ্গিক বলে কোডটি সহজেই এর আউটপুটটির নেগেটিভের সাথে মেলে। আসল প্রোগ্রামটি এরকম দেখাচ্ছে:

H      \ Push char 100, 'd'
32 2C  \ Push char 32, a space, and make 2 extra copies
       \ We now have the string 'd   '
4:     \ 4 times do:
  "    \   Print the string
   }   \   Cyclically shift it right, once

ব্যাকস্ল্যাশগুলি একটি মন্তব্য শুরু করে, সুতরাং পিছনেটি \o/কেবল নেতিবাচকটি সম্পন্ন করার জন্য রয়েছে এবং শীতল দেখায়।


বিকল্পভাবে, একই স্কোরের জন্য, আমরা নিম্নলিখিত সমাধানগুলি পেতে পারি:

Code    Output

 35;    #
3 2j     #
2C 4      #
:"}        #

K 36     #
33 2      #
Ct4        #
 :}"    #

3

হাস্কেল, 10 × 10

main=let{ 
0&c='\32' 
!c;n&c=c! 
'\32'>>(n 
-1)&c;a!b 
=putStrLn 
$(b<$[1.. 
10])++[a] 
}in(9&'*' 
         )

a ! bফর্মের একটি লাইন প্রিন্ট করে এমন একটি সহায়ক ফাংশন এবং ফর্মের এক লাইন অনুসরণ করে ফর্মের লাইনগুলি মুদ্রণ bbbbbbbbbaকরে n & cএমন একটি পুনরাবৃত্ত ফাংশন সংজ্ঞায়িত করে ।nccccccccc␣␣␣␣␣␣␣␣␣␣c

একটি অক্ষর পুনরাবৃত্তি করতে ব্যাপ্তিতে <$( fmap const, আবার) ব্যবহার করে। নোট করুন যে <$কেবলমাত্র GHC 7.10 এর পরে আমদানি ছাড়াই উপলব্ধ, যা এই চ্যালেঞ্জটিকে পোস্ট-ডেট করে। আমি এটি নিশ্চিতভাবে নিশ্চিত নই যে এটি যদি এই জমাটি নন-কার্পেট করে তোলে।

এখানে লেআউট বা অ্যালগরিদম নির্বাচনের সাথে সত্যই আকর্ষণীয় কিছু নয়; আমার রেহাই দেওয়ার জন্য প্রচুর বাইট নেই এবং এটি কেবল ভাগ্যবান putStrLnযেভাবে তারা করেছিল তার চারপাশে লাইন ব্রেকগুলি ঘটতে পারে।



3

05AB1E , 3x3 (6 অ স্পেস বাইট )

 3Ð
Λ q
°° 

আউটপুট:

3  
 3 
  3

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

ব্যাখ্যা:

3Ð       # Push three 3s to the stack
  Λ      # Canvas with parameters num; filler; pattern
         #  num: The amount of characters to display (3)
         #  filler: The character to display ('3')
         #  pattern: The available options are single-digit integers in the range [0,7]
         #           indicating the direction to print in.
         #           (Option 3 is a top-left to bottom-right diagonal line)
    q    # Exit the program
°°       # no-ops to complete the pattern

2

পার্ল, 6x6 (26 টি ফাঁকা স্থান)

আমি এগুলি দেখার জন্য পুরোপুরি ব্যয় করেছি এবং নিশ্চিত ছিলাম যে কোনওরকম 7x7 এর চেয়ে ছোট পার্ল সমাধান হবে ... খুব মজাদার একটি চ্যালেঞ্জ! এই সমাধান প্রয়োজন -E

say+( 
$"x5, 
"5$/" 
)x5,5 
x5,$" 
     ;

ব্যবহার:

perl -E 'say+( 
$"x5, 
"5\n" 
)x5,5 
x5,$" 
     ;'

আউটপুট:

     5
     5
     5
     5
     5
55555 

2

সিবিএম বেসিক ভি 2.0 (9 × 9)

0dA8,7,6 
1dA5,4, 3
2dA2,1 ,0
3rEs: rem
4?sP s)::
5:? "*";:
6p =8---s
7 ?sPp):?
 8ifsgO3:

আউটপুট:

        *
       * 
      *  
     *   
    *    
   *     
  *      
 *       
*        

1

সি (জিসিসি) , 7x7 8x8

সম্পাদনা: পূর্ববর্তী সংস্করণটির ভুল আচরণ ছিল।

 main(i)
{ for(;i
<9 ;pri\
ntf ("%\
*d%" "*\
c",i, 1,
9-i,10 )
,i++);} 

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


" আমরা প্রয়োজন প্রতিটি সারির এবং প্রতিটি কলামের ধারণ কমপক্ষে 1 স্থান এবং 1 টি স্থান অক্ষর " আপনার প্রথম কলামটি একটি অ-স্পেস চরিত্র হারিয়েছে।
কেভিন ক্রুইজসেন

@ কেভিন ক্রুজসেন কোনওভাবেই আমি কলামগুলির মানদণ্ডটি মিস করেছি, তাই তারা সব ভুল। আমার কাছে যখন আসল কম্পিউটার থাকবে তখন রিমেক করবে।
গ্যাস্ট্রোপনার

1

জেলি , 4 এক্স 4 (12 টি ফাঁকা স্থান)

 4=þ
¢ +⁴
¢+ ⁴
¢ỌY

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

আউটপুট:

!   
 !  
  ! 
   !

এটি বেশ মজা ছিল।

কিভাবে এটা কাজ করে

 4=þ    Link 1 (nilad): Generate an identity matrix of size 4
¢ +⁴    Link 2 (nilad): Add 16 to above
¢+ ⁴    Link 3 (nilad): Add 16 again
¢ỌY     Main link (nilad): Convert the above to ASCII chars, and join by newline

সহজ অংশ: জেলি সাদা স্থানগুলিকে উপেক্ষা করে (যতক্ষণ না কেবলমাত্র এক-বাইট বিল্টিনগুলি ব্যবহার করা হয়)।

শক্ত অংশ: জেলির প্রতিটি লাইন একটি পৃথক লিঙ্ক (বা ফাংশন), তাই একাধিক লাইনে ধ্রুবক বিবৃতি ছড়িয়ে দেওয়া খুব কম নয়। স্ট্রিং আক্ষরিক ব্যবহার একটি ভাল প্রার্থী, তবে কীভাবে নেতিবাচক জেনারেশন করা যায় তা ধারণা নেই।

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