8 নম্বর আউটপুট করার 8 পদ্ধতিতে কোড পাঠ করা


21

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

আসলে টেক্সট ব্লক জন্য

ABC
DEF

আমি এটি পড়তে পারে সম্পর্কিত আটটি উপায় সম্পর্কে ভাবতে পারি:

  1. বাম থেকে ডান, উপরে থেকে নীচে (এলটিআর-টিটিবি): ABCDEF
  2. উপরে থেকে নীচে, বাম থেকে ডান (TTB-LTR): ADBECF
  3. বাম থেকে ডান, নীচে থেকে শীর্ষে (এলটিআর-বিটিটি): DEFABC
  4. নীচে থেকে উপরে, বাম থেকে ডান (বিটিটি-এলটিআর): DAEBFC
  5. ডান থেকে বাম, উপরে থেকে নীচে (আরটিএল-টিটিবি): CBAFED
  6. উপরে থেকে নীচে, ডান থেকে বাম (TTB-RTL): CFBEAD
  7. ডান থেকে বাম, নীচে থেকে উপরে (আরটিএল-বিটিটি): FEDCBA
  8. নীচে থেকে উপরে, ডান থেকে বামে (বিটিটি-আরটিএল): FCEBDA

চ্যালেঞ্জ

পাঠ্যের একটি আয়তক্ষেত্রাকার ব্লক লিখুন যা আপনার পছন্দের ভাষার আটটি একক লাইনের প্রোগ্রাম হিসাবে উপরের আটটি উপায়ে পড়া যায় । এই প্রোগ্রামগুলির প্রত্যেকের এক থেকে আট পর্যন্ত আলাদা পূর্ণসংখ্যার আউটপুট করা উচিত।

কোন পড়ার দিকনির্দেশটি কোন সংখ্যাকে আউটপুট দেয় তা বিবেচনা করে না, তাদের উপরের সংখ্যাগুলির সাথে মেলে না। উদাহরণস্বরূপ, যদি আপনার পাঠ্য ব্লকটি এখনও থাকত

ABC
DEF

তারপরে প্রোগ্রামটি ABCDEFআউটপুট 5এবং FEDCBAহতে পারে আউটপুট 2, এবং অন্য ছয়টি প্রোগ্রাম আউটপুট হবে 1,3 , 4, 6, 7, এবং 8কিছু যাতে।

পাঠ্য ব্লকে লাইন টার্মিনেটর ব্যতীত অন্য কোনও অক্ষর থাকতে পারে ।

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

Pietu1998 চ্যারিটে জেএসফিডেল লিখেছিল যা পাঠ্যের একটি ব্লক দেওয়ার সময় 8 টি বিভিন্ন সিঙ্গল লাইনের প্রোগ্রাম দেয়। আমি এটিকে একটি স্ট্যাক স্নিপেটে পরিণত করেছি:

<script>function f(n){n=n.split("\n");var e=n.map(function(n){return n.length}).sort()[n.length-1];n=n.map(function(n){return(n+Array(e+1).join(" ")).substring(0,e)});var t=n[0].split("").map(function(e,t){return n.map(function(n){return n[t]}).join("")});n=[n.join(""),n.reverse().join(""),t.join(""),t.reverse().join("")],n=n.concat(n.map(function(n){return n.split("").reverse().join("")})),document.getElementById("a").innerHTML=n.map(function(n,e){return document.getElementById("b").checked?n+"   "+"LLTTRRBB"[e]+"T"+"RRBBLLTT"[e]+"-"+"TBLRBTRL"[e]+"T"+"BTRLTBLR"[e]:n}).join("\n")}</script><textarea onkeyup="f(this.value)" id="c" placeholder="Code"></textarea><br/><input type="checkbox" id="b" onchange="f(document.getElementById('c').value)" checked/>&nbsp;<label for="b">Show directions</label><br/><pre id="a"></pre>

আপনি এখনও মার্টিনের সিজেম সংস্করণটি খুঁজে পেতে পারেন এখানে

স্কোরিং

আপনার স্কোরটি আপনার পাঠ্যের ব্লকের ক্ষেত্র (উচ্চতার প্রস্থের বার)। সর্বনিম্ন স্কোর সহ জমাটি জয়লাভ করে। (মূলত ক্ষুদ্রতম কোডটি জিততে পারে, তাই ট্যাগ)) টাইব্রেকার আগের পোস্ট জমা দিতে যায়।

উদাহরণটি 2 বাই 3 সুতরাং এর স্কোর 6 is এর চেয়ে কম স্কোর 4 (2 বাই 2) অসম্ভব কারণ তখন 8 টি প্রোগ্রামের কিছুটি অভিন্ন হবে এবং দুটি ভিন্ন মান আউটপুট করতে পারে না।


6
কেন "একমাত্র মুদ্রণযোগ্য আসকি" বিধি? এর অর্থ এপিএল এই চ্যালেঞ্জটিতে প্রতিদ্বন্দ্বিতা করতে পারে না। :(
মরিস জুকা

3
আমি একটি ফিডাল তৈরি করেছি যা একটি কোড ব্লককে 8 টি প্রোগ্রামে রূপান্তর করে। স্নিপেট হিসাবে অন্তর্ভুক্ত করা যেতে পারে, যদিও এই বিষয়ে ওপির মতামত চান।
পূর্বকুডারী

3
@ মার্টিনব্যাটনার ঠিক আছে, আমি এটি ঠিক করেছি। এটা String.prototype.repeat()এখনও নতুন ধরনের মনে হচ্ছে। এছাড়াও এখন IE তে কাজ করার বিষয়টি নিশ্চিত করেছেন। নতুন
ফ্রিডল

@ মরিসজুচ্চা লাইন টার্মিনেটর ছাড়াও সমস্ত অক্ষর এখন অনুমোদিত।
ক্যালভিনের শখ

@ পিটু ১৯৯৮ ফিডলের জন্য ধন্যবাদ, আমি এটিকে একটি স্নিপেট হিসাবে যুক্ত করেছি।
ক্যালভিনের শখ

উত্তর:


21

জে, 3 * 3 = 9

1[2
+2+
2+2

সমস্ত নির্দেশাবলী কার্যকর করা হচ্ছে:

       ". '1[2+2+2+2','2+2+2+1[2','1+2[2+2+2','2+2[2+1+2','2+2+2+2[1','2[1+2+2+2','2+2+2[2+1',:'2+1+2[2+2'
1 7 3 4 8 2 6 5

ব্যাখ্যা:

  • জে মৃত্যুদন্ড কার্যকর ডান থেকে বাম দিকে যায় এবং কোনও অপারেটর নজির নেই।
  • [( leftতাই এটি মূলত বাতিল আমাদের অভিব্যক্তি যেমন গোটা ডান দিকে) তার দুই প্রতীক বামদিকে লাগে 1+2[2+2+2হয়ে 1+2[6এবং তারপর1+2
  • বাম এক্সপ্রেশনগুলি মোট 1, 2, 3 এবং 4 টি অপরেশন সহ সংযোজন। প্রতিটি- nওপরের প্রকাশের দুটিটি সংখ্যার 1সাথে একটি এবং কেবলমাত্র 2এর সাথে একটি । সংযোজনগুলি 1বিজোড় সংখ্যা উত্পন্ন করে এবং অন্যান্যগুলি এমনকি এটিরও উত্পন্ন করে।

5
এটি সত্যিই দুর্দান্ত। প্রতিস্থাপন [সঙ্গে ;এবং এটি সবচেয়ে ভাষায় 'REPL পরিবেশে কাজ করা উচিত।
অপ্টিমাইজার

18

Befunge-98 ,5x5 = 25 5x3 = 15

1+4+2
$.@.$
3+4+4

আমি একটি ছোট স্ক্রিপ্ট লিখেছিলাম যা আমার জন্য সঠিক নম্বর পেয়েছিল। এটি কিছুক্ষণ সময় নিয়েছে, তবে ওহে আমি কেবল গল্ফস্ক্রিপ্টকে পরাজিত করেছি! : ডি

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

subprograms

1+4+2$.@.$3+4+4   LTR-TTB   5
3+4+4$.@.$1+4+2   LTR-BTT   7
1$3+.+4@4+.+2$4   TTB-LTR   3
2$4+.+4@4+.+1$3   TTB-RTL   4
4+4+3$.@.$2+4+1   RTL-BTT   8
2+4+1$.@.$4+4+3   RTL-TTB   6
4$2+.+4@4+.+3$1   BTT-RTL   2
3$1+.+4@4+.+4$2   BTT-LTR   1

পুরনো সংস্করণ

 1.6
3 @ 4
.@ @.
8 @ 7
 2.5

subprograms

যথাক্রমে 1-8 নম্বরগুলি আউটপুট করুন।

 1.6 3 @ 4.@ @.8 @ 7 2.5    LTR-TTB
 2.5 8 @ 7.@ @.3 @ 4 1.6    LTR-BTT
 3.8 1 @ 2.@ @.6 @ 5 4.7    TTB-LTR
 4.7 6 @ 5.@ @.1 @ 2 3.8    TTB-RTL
 5.2 7 @ 8.@ @.4 @ 3 6.1    RTL-BTT
 6.1 4 @ 3.@ @.7 @ 8 5.2    RTL-TTB
 7.4 5 @ 6.@ @.2 @ 1 8.3    BTT-RTL
 8.3 2 @ 1.@ @.5 @ 6 7.4    BTT-LTR

14

ব্রেইনফাক $ , 4x3 = 12

Brainfuck $ খুব অনুরূপ Brainfuck কিন্তু আউটপুট কমান্ড যা এই চ্যালেঞ্জ জন্য খুবই দরকারী ছিল সাংখ্যিক আউটপুট বর্তমান ঘরের মান সহ আরো কিছু কমান্ড আছে।

++:+
  ++
++++

এক-লাইন কমান্ড:

++:+  ++++++   LTR-TTB, outputs 2
++++  ++++:+   LTR-BTT, outputs 8
+ ++ +:+++++   TTB-LTR, outputs 4
+++:+++ ++ +   TTB-RTL, outputs 3
++++++  +:++   RTL-BTT, outputs 7
+:++++  ++++   RTL-TTB, outputs 1
+++++:+ ++ +   BTT-RTL, outputs 5
+ ++ +++:+++   BTT-LTR, outputs 6

আমি যুক্তি দিয়েছিলাম আপনার ব্রেইনফাকের দরকার নেই; কমান্ড। আমি সহজভাবে ব্যবহার বিবেচনা করব। এবং আউটপুটিং 0x01-0x08 পুরোপুরি বৈধ। এটা ব্রেনফাক, (মস্তিষ্ক) চোদার জন্য! +1 টি।
মাতেগা

আমি বাইনারি আউটপুট সঙ্গে ঠিক আছে।
ক্যাপচার্যাগ

7

টেকো, 3 * 5 = 15

 +4 5
+2=4 
 +1 \

=শেষ সংখ্যাগত এক্সপ্রেশনটির মান মুদ্রণ করে। \স্ট্রিং থেকে সংখ্যা পড়তে বা লিখতে ব্যবহৃত হয়, তবে আমি এটি এখানে কেবল বাতিল হিসাবে ব্যবহার করি।

  • +4 5+2=4 +1 \ 7
  • + +2+4=1 4 5 \ 6
  • + +2+1=4 4 \ 5 3
  • +1 \+2=4 +4 5 2
  • \ 1+ 4=2+5 4+ 5
  • \ 5 4 1=4+2+ + 1
  • 5 \ 4 4=1+2+ + 4
  • 5 4+ 4=2+\ 1+ 8

7

পিট - 12x12 = 144

এখানে চিত্র বর্ণনা লিখুন

যেহেতু একটি লাইন প্রোগ্রাম কখনই শেষ করতে পারে না, ধরে নিই এটি প্রথম আউটপুট পরে সমাপ্ত হবে।

একটি একক চিত্রে 8 টি উপ-প্রোগ্রাম:

এখানে চিত্র বর্ণনা লিখুন


6

গল্ফস্ক্রিপ্ট, 4x4 = 16

1})7
)  }
}  )
3)}5

ভাল পুরানো "সুপার মন্তব্য" ব্যবহার করুন: একটি মিল নেই }বাকী কোডটি উপেক্ষা করে (বাস্তবে, এই ক্ষেত্রে একটি সাধারণ মন্তব্য #ঠিক একইভাবে কাজ করতে পারে, যেহেতু সমস্ত কোড একক লাইন হিসাবে চালিত হয়)। সুতরাং প্রতিটি কোণ থেকে হয় কেবল একটি একক সংখ্যা, বা (অন্য দিকে) যে সংখ্যাটি 1 দ্বারা বৃদ্ধি পেয়েছে, কারণ মৃত্যুদন্ড কার্যকর হয় এবং স্ট্যাকের বিষয়বস্তু মুদ্রিত হয়। 8 টি প্রোগ্রাম হ'ল

1})7)  }}  )3)}5  # LTR-TTB
1)}3}  ))  }7})5  # TTB-LTR
3})1)  }}  )5)}7  # BTT-LTR
3)}5}  ))  }1})7  # LTR-BTT
5})3)  }}  )7)}1  # RTL-BTT
5)}7}  ))  }3})1  # BTT-RTL
7})5)  }}  )1)}3  # TTB-RTL
7)}1}  ))  }5})3  # RTL-BTT

5

হাস্কেল, 26x26 = 676

--পিছনে এবং পাশের বিটগুলি লুকানোর জন্য মন্তব্যগুলি ( ) ব্যবহার করে। এটি এটি দীর্ঘ দীর্ঘ করে তোলে

main=print 1--2 tnirp=niam
a                        a
i                        i
n                        n
=                        =
p                        p
r                        r
i                        i
n                        n
t                        t

3                        4
-                        -
-                        -
5                        6

t                        t
n                        n
i                        i
r                        r
p                        p
=                        =
n                        n
i                        i
a                        a
main=print 7--8 tnirp=niam

2
আমার কাছে মনে হচ্ছে এটি বেশিরভাগ ভাষায় ইনলাইন মন্তব্যে বাড়ানো যেতে পারে
Sp3000

4

প্রস্তাবনা , 5x3 = 15

12 34
  !  
56 78

এটি পাইথন দোভাষী অনুমান করে , যা অক্ষর কোডের পরিবর্তে সংখ্যা হিসাবে মান প্রিন্ট করে।

এটি বেফঞ্জকে beat পরাজিত করে না, তবে এটি আমার গল্ফস্ক্রিপ্ট জমা জমা দেয় এবং আমি এর সরলতা পছন্দ করি। এটিও নোট করুন যে এটিতে কেবল 9 অ-স্পেস অক্ষর ব্যবহার করা হয়েছে, যা এখন পর্যন্ত অন্য জমা দেওয়ার চেয়ে কম (জে আবার আঘাত করে :))। প্রিলিওডে, প্রতিটি অঙ্ক পৃথকভাবে স্ট্যাকের দিকে ঠেলে দেওয়া হয় এবং পথের উপর নির্ভর করে ডান দিকের ঠিক আগে আলাদা আলাদা অঙ্ক থাকে !, যা কেবল শীর্ষ স্ট্যাক উপাদানকে মুদ্রণ করে। 8 টি প্রোগ্রাম হ'ল:

12 34  !  56 78   LTR-TTB   4
56 78  !  12 34   LTR-BTT   8
1 52 6 ! 3 74 8   TTB-LTR   6
4 83 7 ! 2 61 5   TTB-RTL   7
87 65  !  43 21   RTL-BTT   5
43 21  !  87 65   RTL-TTB   1
8 47 3 ! 6 25 1   BTT-RTL   3
5 16 2 ! 7 38 4   BTT-LTR   2

বিকল্পভাবে, এছাড়াও আছে

 1 3 
1+!+1
 5 7 

যা উলম্ব পথগুলিতে বিজোড় সংখ্যাগুলিকে চাপ দেয় এবং 1অনুভূমিক পথগুলিতে তাদের বৃদ্ধি করে :

 1 3 1+!+1 5 7    LTR-TTB   4
 5 7 1+!+1 1 3    LTR-BTT   8
 1 1+5 ! 3+7 1    TTB-LTR   5
 1 3+7 ! 1+5 1    TTB-RTL   7
 7 5 1+!+1 3 1    RTL-BTT   6
 3 1 1+!+1 7 5    RTL-TTB   2
 1 7+3 ! 5+1 1    BTT-RTL   3
 1 5+1 ! 7+3 1    BTT-LTR   1

2

সিজেএম - 7। 7

চিত্তাকর্ষক নয়, তবে কোনও সিজেমের উত্তর নেই এবং এটি দেখতে আমার পছন্দ মতো :)

 8;];1 
7     2
;  0  ;
] 0 0 ]
;  0  ;
6     3
 5;];4 

এটি মূলত সত্যটি ব্যবহার করে ]; স্ট্যাকটি সাফ করার ।

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


1

রুবি - 7x7

হাসাকেলের উত্তরের মতো কৌশলও চিত্তাকর্ষক নয়।

p 1#2 p

3     7
#     #
4     8

p 5#6 p

1

আর, 9x9

কোনও সাদা জায়গা নেই, কোনও মন্তব্য নেই।

75%%99299
99%%99699
%%299%%41
%%699%%06
995999997
11%%999%%
99%%799%%
39719%%99
59519%%16

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

75%%9929999%%99699%%299%%41%%699%%0699599999711%%999%%99%%799%%39719%%9959519%%16   LTR-TTB  2
59519%%1639719%%9999%%799%%11%%999%%995999997%%699%%06%%299%%4199%%9969975%%99299   LTR-BTT  3
79%%9193559%%91999%%265%%75%%999%%1199999979999%%999%%26%%999%%99409%%9199167%%96   TTB-LTR  4
99167%%9699409%%9126%%999%%99%%999%%999999799%%999%%11%%265%%7559%%9199979%%91935   TTB-RTL  1
61%%9159599%%91793%%997%%99%%999%%1179999959960%%996%%14%%992%%99699%%9999299%%57   RTL-BTT  5
99299%%5799699%%9914%%992%%60%%996%%799999599%%999%%11%%997%%9999%%9179361%%91595   RTL-TTB  6
69%%7619919%%90499%%999%%62%%999%%9999799999911%%999%%57%%562%%99919%%9553919%%97   BTT-RTL  7
53919%%9799919%%9557%%562%%11%%999%%997999999%%999%%99%%999%%6219%%9049969%%76199   BTT-LTR  8

1

এই প্রোগ্রামিং ভাষা, 5 * 9 = 45

1i;i2
2   2
+   +
i   i
;   ;
i   i
+   +
2   2
5i;i6

যা এর মধ্যে অনুবাদ করে:

1i;i22   2+   +i   i;   ;i   i+   +2   25i;i6
5i;i62   2+   +i   i;   ;i   i+   +2   21i;i2
12+i;i+25i       i;       ;i       i22+i;i+26
22+i;i+26i       i;       ;i       i12+i;i+25
6i;i52   2+   +i   i;   ;i   i+   +2   22i;i1
2i;i12   2+   +i   i;   ;i   i+   +2   26i;i5
62+i;i+22i       i;       ;i       i52+i;i+21
52+i;i+21i       i;       ;i       i62+i;i+22

যেহেতু ;প্রোগ্রামটি সমাপ্ত হয়, উপরোক্তগুলি এর মধ্যে অনুবাদ করে:

1i;   - outputs 1
5i;   - outputs 5
12+i; - outputs 3
22+i; - outputs 4
6i;   - outputs 6
2i;   - outputs 2
62+i; - outputs 8
52+i; - outputs 7

ব্যাখ্যা: থেকে কোন সংখ্যা 0থেকে 9স্ট্যাকের সম্মুখের সংশ্লিষ্ট অঙ্ক push কর্মের। +শীর্ষ দুটি মান পপ করে xএবং yস্ট্যাকের বাইরে এবং স্ট্যাকের x + yদিকে ধাক্কা দেয়।iএকটি পূর্ণসংখ্যা হিসাবে স্ট্যাক আউটপুট।

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