বহুভাষায় একটি ভাষা যুক্ত করুন


239

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

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

কাজটি

এন ম প্রোগ্রামে চলবে জমা দিতে হবে এন বিভিন্ন ভাষায়; বিশেষত, পূর্ববর্তী প্রোগ্রামগুলিতে যুক্ত সমস্ত ভাষাগুলি জমা দিতে হবে, এবং আরও একটি। এই প্রশ্নের উত্তরের জন্য ব্যবহৃত প্রথম ভাষায় চালিত হওয়ার সময় প্রোগ্রামটি 1 আউটপুট দিতে হবে, দ্বিতীয় ভাষায় যখন চালানো হবে 2 ইত্যাদি। উদাহরণস্বরূপ, প্রথম উত্তর পাইথন 3 এ রান করার সময় 1 টি মুদ্রণ করতে পারে এবং দ্বিতীয় উত্তরটি পাইথন 3 এ যখন চালানো হয় 1 এবং জাভাস্ক্রিপ্টে চালিত হওয়ার সময় 2 আউটপুট দিতে পারে; এই ক্ষেত্রে, তৃতীয় উত্তরটি পাইথন 3 এ রান করার সময় 1, জাভাস্ক্রিপ্টে চালিত হওয়ার সময় 2 এবং অন্য কোনও ভাষায় রান করার সময় 3 আউটপুট দিতে হবে।

অতিরিক্ত বিধি

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

  • আউটপুটটি কেবলমাত্র পূর্ণসংখ্যার হতে হবে তবে নতুন লাইনের লাইন ঠিক আছে। অন্যান্য অনিবার্য stdout আউটপুট এছাড়াও অনুমোদিত। উদাহরণস্বরূপ: ব্যাফুঞ্জ -৩৩ তে দোভাষী নাম এবং সংস্করণ , জেফায়ারে মুদ্রিত স্ট্রিংয়ের পরে স্থান । কিছু ভাষাগুলি মুদ্রণের দুটি পদ্ধতি সরবরাহ করে - স্থান ছাড়িয়ে এবং ছাড়াই; এই ক্ষেত্রে স্থান ছাড়াই পদ্ধতি ব্যবহার করা আবশ্যক।

  • প্রতিটি উত্তর অবশ্যই আগের উত্তরের চেয়ে 20% বা 20 বাইটের (যেটি বৃহত্তর) বেশি হবে না। (এটি হ'ল লেংগুয়েজের মতো থ্রেড স্প্যামিংয়ের মতো ভাষার ব্যবহার রোধ করা এবং কমপক্ষে স্বল্প পরিমাণে গল্ফিংকে উত্সাহিত করা))

  • একই ভাষার বিভিন্ন সংস্করণ ব্যবহার করার অনুমতি দেওয়া হয়েছে (যদিও স্পষ্টতই তাদের বিভিন্ন সংখ্যা মুদ্রণ করতে হবে, সুতরাং আপনাকে বহুভুজের মধ্যে একটি সংস্করণ চেক ফিট করতে হবে)। তবে, আপনি কোনও ভাষা বৈশিষ্ট্য ব্যবহার করতে পারেন যা ভাষার সংস্করণ নম্বরটি দেয়। একই একই ভাষাটির পুনরাবৃত্তি করা স্পষ্টতই অসম্ভব (কারণ প্রোগ্রামটি দুটি ভিন্ন সংখ্যার মধ্যে একটিকে মুদ্রণ করতে হবে)।
  • কিছু বহুভোজ প্রতিযোগিতায় নিষিদ্ধ হওয়া সত্ত্বেও অতিরিক্ত মন্তব্য অপব্যবহারের কৌশলগুলি এখানে ঠিক আছে।
  • আপনার নিজের লেখার জন্য গাইড হিসাবে পূর্বের উত্তরগুলি ব্যবহার করতে হবে না (আপনি যদি চান তবে পুরো প্রোগ্রামটি পুনরায় লিখতে পারেন, যতক্ষণ না তা অনুমিত হয়); তবে আপনার উত্তরটি বেশিরভাগ পূর্ববর্তী উত্তরের ভিত্তিতে ভিত্তি করে দেওয়া অনুমোদিত এবং সম্ভবত সমাধানের সহজতম উপায়।
  • আপনি পর পর দুটি উত্তর জমা দিতে পারবেন না। এর মধ্যে অন্য কাউকে পোস্ট করতে দিন। বিজয় শর্ত পূরণ না হওয়া অবধি এই বিধিটি প্রযোজ্য।
  • যেহেতু এই চ্যালেঞ্জটির জন্য অন্যান্য প্রতিযোগীদের আপনার একই ভাষাগুলিতে পোস্ট করা প্রয়োজন, আপনি কেবলমাত্র একটি বিনামূল্যে বাস্তবায়ন সহ ভাষা ব্যবহার করতে পারেন (যদিও এটি প্রতিযোগিতা ছিল)।
  • যদি কোনও ভাষার একাধিক দোভাষী থাকে তবে আপনি যে কোনও ভাষা যে ভাষায় সাফল্যের সাথে চালিত করতে বোঝানো হয় সেই অনুবাদকের ক্ষেত্রে এতক্ষণ যে কোনও ভাষার জন্য কোনও অনুবাদক বাছাই করতে পারেন। (অন্য কথায়, কোনও প্রোগ্রাম যদি একাধিক দোভাষী নিয়ে কাজ করে তবে ভবিষ্যতের পোস্টগুলি কোনও ভাষার জন্য অনুবাদকের একটি নির্দিষ্ট পছন্দকে "লকিং" পোস্টের পরিবর্তে those অনুবাদকগুলিকে বেছে নিতে পারে))
  • এই চ্যালেঞ্জটি এখন ভাষা পছন্দ সম্পর্কে নতুন পিপিসি বিধি ব্যবহার করে : আপনি ভাষা, বা কোনও ভাষা দোভাষী ব্যবহার করতে পারেন, এমনকি প্রশ্নের চেয়ে নতুন হলেও er তবে, আপনি ভাষা / দোভাষীর প্রশ্নের চেয়ে নতুন ব্যবহার করতে পারেন না যদি ক) ভাষা বহুগ্লোটিংয়ের উদ্দেশ্যে তৈরি করা হয়েছিল বা খ) ভাষা এই প্রশ্নের দ্বারা অনুপ্রাণিত হয়েছিল। (সুতরাং নতুন ডিজাইন করা ব্যবহারিক প্রোগ্রামিং ভাষাগুলি অবশ্যই নিখরচায় যেমন Esolangs ঠিক আছে তেমন ঠিক আছে, তবে এ পিয়ার ট্রি এর মতো বিষয়গুলি এই প্রশ্নে অনুপ্রাণিত হয়েছিল, নিষিদ্ধ করা হয়েছে)) নোট করুন যে এটি ডিজাইন করা ভাষার বৈধতা পরিবর্তন করে না বহুগ্লোটিংয়ের জন্য যা এই প্রশ্নের চেয়ে পুরানো।
  • নোট করুন যে বিজয়ের শর্তটি (নীচে দেখুন) এমনভাবে তৈরি করা হয়েছে যাতে শৃঙ্খলা ভঙ্গ করা (অর্থাত্ আরও ভাষাগুলি সহ বহুভাষার পক্ষে শক্ত ভাষা ব্যবহারের মাধ্যমে অন্য কারও পক্ষে উত্তর দেওয়া অসম্ভব করে তোলে) আপনাকে বিজয়ী হতে অযোগ্য ঘোষণা করবে। উদ্দেশ্যটি যতটা সম্ভব আমরা চালিয়ে যাব এবং আপনি যদি জিততে চান তবে আপনাকে সেটিকে সম্মান করতে হবে।

উত্তর ফর্ম্যাট

সমস্ত উত্তর একে অপরের উপর নির্ভরশীল হিসাবে, একটি সামঞ্জস্যপূর্ণ উত্তর ফর্ম্যাট থাকা সহায়ক হতে চলেছে। আমি আপনার উত্তরটিকে এমন কিছু ফর্ম্যাট করার পরামর্শ দিচ্ছি (এটি চেইনের দ্বিতীয় লিঙ্কের উদাহরণ):

2. জাভাস্ক্রিপ্ট, 40 বাইট

(program goes here)

এই প্রোগ্রামটি ছাপে 1 পাইথন 3, এবং 2 জাভাস্ক্রিপ্ট হবে।

(আপনি যদি প্রোগ্রামটি বোঝাতে চান তবে বহুবিবাহের কৌশলগুলি এগুলি এখানে রাখুন)

বিজয় শর্ত

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

বিজয়ী চান্স , উত্তর 194 দেখুন (টেম্পলএট)

ভাষা তালিকা


3
মোছা পোস্টগুলি দেখতে পারে এমন লোকদের জন্য: স্যান্ডবক্স পোস্টটি এখানে ছিল ।

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

3
@ ais523 আমার মনে হয় এর অর্থ কি ছিল যে নতুন উত্তরগুলিতে এটি নতুন কোডের সাথে লিঙ্ক চেষ্টা করা উচিত?
নীল

5
আমি মনে করি আমাদের এমন একটি স্ক্রিপ্ট দরকার যা কোডের একটি হেক্স ডাম্প নেয় এবং এটি স্বয়ংক্রিয়ভাবে সমস্ত ভাষায় চালিত করে ...
mbomb007

3
এটি বিভিন্ন ধরণের চ্যালেঞ্জ হিসাবে পোস্ট করা ভার্সেটাইল পূর্ণসংখ্যার প্রিন্টার । (অনুপ্রেরণা?) চূড়ান্ত উত্তরটি (বর্তমানে) স্কোর করবে 0.0127, কেবল এসপি 3000 এর 30 ভাষা জমা দিয়ে পরাজিত হবে ... :)
স্টিভি গ্রিফিন

উত্তর:


80

দ্রষ্টব্য: আপনি যদি এটি প্রথম দেখেন তবে আপনি প্রাচীনতম অনুসারে বাছাই করতে চাইতে পারেন

17. জুলিয়া (128 বাইট)

#v`16 "<" 6/b0\ .q@#;n4"14""
#>3N9@15o|R"12"*^
#=|
print((1/2and 9 or 13)-(0and+4)^1<<65>>62);# =#;print(17)
#gg99ddi2` |1|1+6

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

পাইথন 3 এ 1, ভিনে 2, মিনকোল্যাং-এ 3,> 4> ইন> <>, পাইথন 2-এ 5, এসএমবিএফ-তে 6, জাপটে 7, রেটিনায় 8, পার্লে 9, বেফুঞ্জ -99-এ 11, বেফুঞ্জে 11 -98, ফিশনে 12, রুবিতে 13, টার্টলিয়ডে 14, হায়স্ট্যাকের 15, পাইথের 16 এবং জুলিয়ায় 17 জন


সংকেতগুলি:

  • চতুর্থ লাইনের শুরুটি পাইথন 2/3, পার্ল, রুবি। শেষটি হল জুলিয়া, #=একাধিক মন্তব্যের জন্য ধন্যবাদ (নোট করুন যে জুলিয়ায় নেই and/or)।
  • ভি <ESC>gg99ddi2<ESC>, যা অবশ্যই গল্ফযোগ্য তবে ভি অনলাইনে এটি ব্যবহার করে পরীক্ষা করা বিরক্তিকর ! দোভাষা মোটামুটি ধীর।
  • মিনকোলাং এবং হায়স্ট্যাক প্রথম দিকে নেমে যায় v। বেফুঞ্জ -99 এবং -98 করবেন না এবং এ এর ​​উপর নির্ভর করে b
  • রেটিনা চতুর্থ লাইনের ফাঁকির সংখ্যা এবং 1 সেকেন্ড গণনা করে এবং ভি রেটিনার (যেমন ব্যাকটিকের আগে) কনফিগারেশনে লুকিয়ে থাকে।
  • @ ইটিএইচ প্রডাকশনটির ইঙ্গিত অনুসারে, জাপট কোডটির বেশিরভাগ অংশকে একটি স্ট্রিংয়ে আড়াল করতে ব্যাকটিক্স ব্যবহার করে।
  • বিদারণ হয় R"12"*
  • <.প্রথম লাইনে এসএমবিএফ খেলা হয়েছে , এর সাথে ফাইনালেও 6

24
অন্য সবার কোডটি কোথায় গেছে
অ্যালফি গুডাক্রে

13
159 বাইট 128 বাইট? বাহ, এটি কিছু দুর্দান্ত গল্ফিং!
গাভী ack ই

6
দুর্দান্ত, 2 ^ 7 বাইট
টমসডিং

7
বাহ ... অবিশ্বাস্য! সকলের বলা এবং সম্পন্ন হওয়ার সময় আমরা প্রতিটি ভাষার জন্য একটি নতুন ব্যাখ্যা লিখতে যাচ্ছি ;-)
ETH প্রোডাকশনগুলি

4
@ অ্যালফিগুডাক্রে "আপনার নিজের লেখার জন্য পূর্ববর্তী উত্তরগুলি ব্যবহার করতে হবে না (আপনি যদি চান তবে পুরো প্রোগ্রামটি পুনরায় লিখতে পারেন, যতক্ষণ না এটি
অনুমানের সাথে সম্মতি দেয়

52

23. হেক্সাগনি , 186 বাইট

দুঃখিত, যদি এই পরিকল্পনাগুলি গণ্ডগোল করে ...

#v`16/"<"6/b.q@"(::):::  (22)S#;n4"14"
#>3N6@15o|> ^*ttt*~++~~~%
#=~nJ<R"12";
#[

print((1/2and 9 or 13)-(0and+4)^1<<65>>62)#46(89999+++++!)=#print(17)#0\32=""<0]#echo 21
#8␛dggi2␛` |1|6

আক্ষরিক ESC অক্ষর উপস্থাপন করতে to ব্যবহার করা হয়।

ছাপে:

হেক্সাগনিতে ২৩, আন্ডারলোডে ২২, নিমে ২১, প্রিলেডে ২০, রেঙ্গে ১৯ টি ( এখানে টেস্টেবল ), কার্ডিনালিতে ১৮, জুলিয়ায় ১,, পাইথে ১ 16, টুর্টলডে ১৪, রুবিতে ১৩, ১২ বিভাজন, বেফুঞ্জ -98 এ 11, বেফুঞ্জ -99 এ 10, পার্লে 9, রেটিনার 8, জাপটে 7, এসএমবিএফ-তে 6, পাইথন 2, 4 <> <>, মিনকোল্যাংয়ে 3, ভিম / ভি তে 2 , এবং পাইথন 3 এ 1।

change languageলিঙ্কহীন ভাষাগুলি পেতে, হেক্সাগনি লিঙ্কের উপরের ডানদিকে বোতামটি ক্লিক করুন।


হেক্সাগনি এই ফর্ম্যাটে পাঠযোগ্য নয় (সমস্ত ক্ষেত্রে)। আমাদের এটি ষড়ভুজ আকারে দেখতে হবে।
নোট করুন যে 2 টি ইসির অক্ষর গুলি এর সাথে প্রতিস্থাপন করা হয়েছে যাতে আপনি সেগুলি দেখতে পান - সেগুলি উপেক্ষা করা হয়, সুতরাং প্রোগ্রামে অন্য কেউ নেই:

        # v 1 6 / " < " 6
       / b . q @ " ( : : )      A lot more readable, right?? No?
      : : : ( 2 2 ) S # ; n
     4 " 1 4 " # > 3 N 6 @ 1
    5 o | > ^ * t t t * ~ + +
   ~ ~ ~ % # = ~ n J < R " 1 2
  " ; # [ p r i n t ( ( 1 / 2 a
 n d 9 o r 1 3 ) - ( 0 a n d + 4
) ^ 1 < < 6 5 > > 6 2 ) # 4 6 ( 8   | Note that the 0s below can be replaced
 9 9 9 9 + + + + + ! ) = # p r i    | With anything (except "`" or " "), 
  n t ( 1 7 ) # 0 \ 3 2 = " " <     V as far as Hexagony is concerned
   0 ] # e c h o 2 1 # 8 ␛ d g
    g i 2 ␛ | 1 | 6 . . . . .    <-- the ␛ represents an esc
     . . . . . . . . . . . .         character
      . . . . . . . . . . .
       . . . . . . . . . .       A "." is a no-op
        . . . . . . . . .
                ^
                | Mirror wraps to here, going NW

হেক্সাগনির সাথে অপরিচিত যারা আছেন তাদের জন্য এখানে 6 টি আইপি রয়েছে যা 6 কোণায় শুরু হয়। শুধুমাত্র 1 জন একবারে সক্রিয় থাকে এবং ব্যবহার করে স্যুইচ হয় #][। এই প্রোগ্রামের জন্য মেমরির মডেলটি তেমন গুরুত্বপূর্ণ নয়, তবে ভবিষ্যতে এটি বোঝার প্রয়োজন হতে পারে। আপনার যা যা জানা দরকার তা হ'ল 1 টি একটি "মেমরি প্রান্ত" (সংক্ষিপ্ততার জন্য ME) এ সঞ্চিত আছে এবং '"}{সক্রিয় ME পরিবর্তন করুন।

\/|_>< মিরর যা প্রোগ্রাম প্রবাহ নিয়ন্ত্রণ করে।

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

প্রথম লাইন কার্যকর:

#       A no-op (sets active IP to 0, the currently active one)
 v      letter chars set the ME to their ASCII value - so ME is now 118
  16    Like Labyrinth, 0-9 multiplies ME by 10 and is added - ME now 11816
    /   A mirror that sends IP going NW by wrapping to the bottom

নীচে (স্নিপেট উল্লম্বভাবে উল্টানো হয়েছে যাতে আপনি নীচে পর্যন্ত পড়তে পারেন):

    .   
   .    A series of no-ops. The IP is going NW now,
  .     because of the mirror on the top.
 .
|       Another mirror. This one sends the IP NE, into the h
 h      sets the ME to 104, the ASCII value for h
  #     104 % 6 == 2, so IP 2 is now active instead of 0

ডান প্রান্ত:

        8  IP #2 is moving SW, starting in the right corner 
       i   Sets the ME to 105
      <    Mirror. Sends the IP going due West
    ""     These change the Active ME - just know that the new edge is 0
   =       Changes the MP (more in specs) - effectively a no-op used to fill space
\32        pushes 23, and mirrors up NE to the !

প্রাসঙ্গিক কোডের শেষ বিট:

!          Prints the current value of the ME as an int. Success!
 20(R~     Does things to the ME - irrelevant now
      @    Ends the program!

বিষয়গুলি নোট করুন:

  • হেক্সাগনি এক্সিকিউট করার আগে সমস্ত গুলি `ফেলে দেয়, সুতরাং সেগুলিতে কোনও পরিবর্তন হেক্সাগনিকে প্রভাবিত করবে না
  • আমার কোডটি প্যাড করার প্রয়োজন ছিল যাতে এটি একটি 8 ম এর পরিবর্তে 9 দৈর্ঘ্যের ষড়্ভুজ হিসাবে ব্যাখ্যা করা যায় - 169 এর নীচে বা 217 সম্পর্কিত বর্ণের উপরে সতর্কতা অবলম্বন করুন
  • এর কারণে, কোডটির কোনও ক্ষতি না করে শেষের দিকে এবং ~~~2 0টি পরিবর্তন করা যেতে পারে
  • =""শুধু আগের যাতে একটি নতুন আমাকে পরিবর্তন করা যাবে থেকে দূরে আমাকে চলে আসে। হেক্সাগনি প্রোগ্রামের ( 'উদাহরণস্বরূপ) কোনও ক্ষতি না করে একই কাজটি করে এমন অন্যান্য অক্ষরগুলির সাথে তাদের প্রতিস্থাপন করা যেতে পারে
  • এটি বেফঞ্জ 93 টি স্পেসের সাথে প্রযুক্তিগতভাবে সম্মতিযুক্ত নয়, কারণ এটি কোডের বাউন্ডিং বাক্সটিকে 80 বাই 25 ক্র্যাকারে সীমাবদ্ধ করে। তবে, বেশিরভাগ ইন্টারপ্রেটাররা এই অনুমানটিকে উপেক্ষা করে (টিআইওর মতো), তাই ব্যক্তিগতভাবে আমি মনে করি না যে এটি এতটা বড় চুক্তি। যদি তা করেন তবে নির্দ্বিধায় কোনও মন্তব্য করুন। (যথেষ্ট পরিমাণে যদি আমাকে এটি পরিবর্তন করতে চান তবে আমি চেষ্টা করব)
  • আশা করি এটি এখন খুব কঠিন নয়।

1
এটি সঠিকভাবে করা গেলে সহজেই সর্বাধিক ক্রেজি প্রোগ্রাম প্রবাহে পরিণত হতে পারে। আমি কিছু ক্রেজিড @ ## পদ্ধতির মাধ্যমে এটি একটি 8 মাপের ষড়ভুজ দিয়ে সম্পন্ন করার কাছাকাছি ছিলাম, তবে একবার চেষ্টা করার পরে 9 খুব সহজ হয়েছিল। এছাড়াও, টিআইওর ভি 1 খুব দ্রুত কাজ করে তবে আপনি ভাষা সহজেই স্যুইচ করতে পারবেন না।
মাইল্ডলি মিল্কিটোস্ট

আমি পরবর্তী ল্যাবরেথকে পরামর্শ দেব তবে আমি এটি করতে চাই।
মাইল্ডলি মিল্কিটোস্ট

আমি নিজের মতো লেখার মতো দক্ষ নই, তবে মধ্য সময়ে আমি কিউবিক্সের পপ আপ হওয়ার অপেক্ষায় রয়েছি।
পাভেল

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

আমি সন্দেহ করি যতক্ষণ আমরা এই পাশের দৈর্ঘ্যে থাকি না কেন এই প্রবাহের মতো কিছু বজায় রাখা সবচেয়ে সহজ এবং আমরা যখন পরবর্তী আকারে যাই তখন কেবল হেক্সাগোনি কোডটি আবার লিখি। 3 ডি ভাষা সম্পর্কে শ্রদ্ধার সাথে, ট্রেফুঞ্জের পক্ষে উপযুক্ত হওয়া মোটামুটি সহজ হওয়া উচিত, ধরে নেওয়া যে ফর্মফিডগুলি দেখে বিদ্যমান ভাষার কোনওটিই আতঙ্কিত হয় না। (এছাড়াও, কিউবিক্স আগে পোস্ট করা হয়েছিল তবে মুছে ফেলা হয়েছে কারণ পোস্টারটি ভেবেছিল এটি খুব শক্ত হতে পারে; হেক্সাগনি এবং কিউবিক্স একবারে বজায় রাখা মোটামুটি বিভ্রান্ত হতে পারে ...)

52

50. বাশ, 1024 বাইট

#16  "(}23!@)" 3//v\D(@;'[af2.qc]GkGGZ'#)"14";n4
#/*` "[!PPP(22)SP(>7 7*,;68*,@;'1,@ ␉␉␉␉ q
#>␉
# >36!@␉
#`<`
#<]+<[.>-]>[
#{
#z}
#
#=<xR+++++[D>+++++++L+++<-][pPLEASE,2<-#2DO,2SUB#1<-#52PLEASE,2SUB#2<-#32DOREADOUT,2DOGIVEUPDOiiipsddsdoh@O6O4/]>+.-- -. >][
#Rx%>~~~+ +~*ttt*.x
#D>xU/-<+++L
#R+.----\).>]|
#[#[/v/v(/0l0v01k1kx0l0ix0jor0h0h1d111x0eU0bx0b0o1d0b0e0e00m1d0i0fx0g0n0n11x0o0n0cx0c0o0f0c0gx0g0f0h0j0j0i0001k10vx0v0l111111^_)  0046(8+9+9+9+9+=!)
###|
'\';echo 50;exit;';print((eval("1\x2f2")and(9)or(13))-(0and 4)^1<<(65)>>(62))or"'x"or'({({1})({1}[(0)])}{1}\{1})'#}#(prin 45)(bye)|/=1/24=x<$+@+-@@@@=>+<@@@=>+<?#d>+.--./
__DATA__=1#"'x"//
#.\."12"__*'
###;console.log 39
""""#//
=begin //
#ssseemeePaeueewuuweeeeeeeeeeCisajjapppp/*/
#define z sizeof'c'-1?"38":"37"
#include<stdio.h>
main(  )/*/
#()`#`\'*/{puts(z );}/*'``
<>{# }//
#}
disp 49#//
#{
1}<>//
$'main'//
#-3o4o#$$$
#< >"3"O.
=end #//
"""#"#//
#}
#|o51~nJ;#:p'34'\
#ss8␛dggi2␛ `|1|6$//''25  =#print(17)#>27.say#]#print(47)#]#echo 21#ss*///nd^_^_Z222999"26

আরও জানতে চান? বহুভোট চ্যাট চেষ্টা করুন !

অনলাইনে তাদের চেষ্টা করুন!

যথারীতি, স্ট্যাক এক্সচেঞ্জের সীমাবদ্ধতার কারণে আমি আক্ষরিক ট্যাবগুলি এবং আক্ষরিক ESC অক্ষরের সাথে প্রতিস্থাপন করেছি । উপরের টিআইও লিঙ্কের "ইনপুট" বাক্স থেকে আপনি প্রোগ্রামটির সহজেই অনুলিপিযোগ্য সংস্করণটি পেতে পারেন।

ভগ্নস্বাস্থ্য শিঠ্ট

এই প্রোগ্রামটি ছাপে 50 ব্যাশ এ, 49 অক্টেভ এ, 48 Deadfish ~ মধ্যে 47 লিলি এ, 46 Cubix এ, 45 PicoLisp এ, 44 alphuck এ, 43 জালি এ, 42 মন্দ এ, 41 brainf মধ্যে ***, 40 সংক্ষিপ্ত মধ্যে -2D, 39 CoffeeScript এ, 38 সি, 37 সি ++, এ 36 গোলকধাঁধা মধ্যে, 35 INTERCAL এ, 34 রেল এ, 33 এ ঘটনায়, 32 বেগে চলা এ, 31 মডুলার SNUSP এ,30 হোয়াইটস্পেস মধ্যে 29 ট্রিগার এ, 28 ব্রেন-বিমানবিধ্বংসী কামান এ, 27 পার্ল 6, মধ্যে 26 05AB1E এ, 25 পিপ এ, 24 Thutu এ, 23 Hexagony এ, 22 Underload এ, 21 নিম এ, 20 প্রস্তাবনা এ, 19 Reng মধ্যে , 18 অঙ্কবাচক মধ্যে 17 জুলিয়া এ, 16 Pyth এ, 15 খড়ের গাদা মধ্যে, 14 Turtlèd এ, 13 রুবি এ, 12 বিদারণ এ, 11 Befunge-98 এ, 10 Befunge-93 এ,9 পার্ল 5, মধ্যে 8 অক্ষিপট এ, 7 Japt এ, 6 SMBF এ, 5 পাইথন 2, মধ্যে 4 মধ্যে> <>, 3 Minkolang এ, 2 ভি / তেজ, এবং 1 পাইথন 3।

প্রতিপাদন

উপরের টেস্ট ড্রাইভার দ্বারা বেশিরভাগ ভাষা পরীক্ষা করা হয়। সাধারণ চারজন অপরাধীর আলাদা আলাদা পরীক্ষা করা দরকার:

  • ঘটনাটির অফিসিয়াল দোভাষী, অফলাইন ব্যবহার করে পরীক্ষা করা হয়েছিল;

  • ডেডফিশ এর অফিসিয়াল দোভাষী, অফলাইন ব্যবহার করেও পরীক্ষা করা হয়েছিল;

  • মডুলার এসএনইউএসপি এখানে অনলাইনে পরীক্ষা করা হয়েছিল ;

  • রেং এখানে অনলাইন পরীক্ষা করা হয়েছিল ।

ব্যাখ্যা

আমি ভাষাগুলি যুক্ত করার জন্য বিভিন্ন সীসাগুলি দেখছিলাম। একটি সম্ভাবনা ছিল #লাইন মন্তব্যগুলির সাথে এমন একটি ভাষা খুঁজে পাওয়া যা "স্ক্রিপ্টিং ল্যাঙ্গুয়েজ" লাইনে (যা পার্ল, পাইথন 2 এবং 3 এবং রুবি পরিচালনা করে) যুক্তিযুক্তভাবে যুক্ত করা যেতে পারে। যদিও ইতিমধ্যে সেখানে থাকা ভাষার সাথে সিনট্যাক্সের সাথে উপযুক্ত হতে পারে এমন একটি উপযুক্ত ভাষা ভাবতে আমার কিছুটা সময় লেগেছে।

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

অন্যান্য স্ক্রিপ্টিং ভাষার মতো বাশ প্রোগ্রাম একই জায়গায় শুরু হয়। তবে এগুলি তাদের থেকে বিচ্ছিন্ন করার মোটামুটি সহজ উপায় রয়েছে; একক-উদ্ধৃত স্ট্রিংগুলিতে, \বেশিরভাগ ভাষায় একটি পালানোর চরিত্র, তবে ব্যাশে নয়। সুতরাং আমরা অন্যান্য ভাষাগুলির মাধ্যমে বাশ কোডটি আড়াল করতে পারি '\'…';, যা পার্ল, পাইথন এবং রুবিতে একটি ডিজেনরেট স্টেটমেন্ট (কোনও প্রভাব ছাড়াই) তবে ব্যাশে মৃত্যুদন্ড কার্যকর করা হয়েছে। echo 50;exitবাশ প্রোগ্রামটি শেষ করার মোটামুটি সহজ উপায়। ভাল প্রায়.

এখানে সবচেয়ে বড় সমস্যাটি হ'ল বাশ চলমান চলাকালীন exitবর্তমান লাইনটি শেষ হওয়া অবধি পার্সিং চালিয়ে যাবে (যদিও এটি প্রশ্নে কোডটি কার্যকর করে না), তাই আমাদের নিশ্চিত করা দরকার যে বাকী বাক্যে কোনও বাক্য গঠন ত্রুটি নেই are লাইন. আমাদের তাত্ক্ষণিকভাবে মিলে 'যাওয়ার পরে ঠিক আছে exit;(এবং তা হতে পারে না)। পরে লাইনে, '…'স্ক্রিপ্টিং ভাষাগুলি থেকে কিছু ব্রেন-ফ্লাক কোড লুকানোর জন্য ব্যবহৃত হয়, তবে এটি এটিকে বাশ থেকে লুকিয়ে রাখে। ফলস্বরূপ, কোডটি আড়াল করার জন্য আমরা কী ধরণের স্ট্রিং আক্ষরিক ব্যবহার করে তা পরিবর্তন করতে হবে, একক উদ্ধৃত থেকে ডাবল-উদ্ধৃত স্ট্রিংগুলিতে চলে যাওয়া। or"'"পার্ল, পাইথন বা রুবিকে বিরক্ত না করে কৌশলটি করে (যেমন বাম-হাতের যুক্তি প্রতিটি ক্ষেত্রে সত্যবাদী)।

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

পাইথ এবং 05AB1E

ডাবল উদ্ধৃতি সহ চারপাশে জগাখিচুড়ি কোডগুলি, পাইথ এবং 05 এএবি 1 ই লুকানোর জন্য দ্বিগুণ উদ্ধৃতিযুক্ত স্ট্রিং ব্যবহার করে এমন ভাষাগুলিকেও বিরক্ত করে। আমরা এখানে যে প্রধান কৌশলটি ব্যবহার করি তা হ'ল যতটা সম্ভব সংক্ষিপ্ত কোডটি প্রকাশ করার জন্য আমরা যুক্ত প্রতিটি ডাবল উদ্ধৃতিতে শীঘ্রই আরও একটি ডাবল উদ্ধৃতি রয়েছে তা নিশ্চিত করা। (এটি __DATA__লাইনের অতিরিক্ত ডাবল উক্তিটি ব্যাখ্যা করে , যা বাশের জন্য প্রয়োজনীয় নয়)) পাইথ \একটি পালানোর চরিত্র হিসাবে ব্যবহার করে ; এর মূল প্রতিফলনটি হ'ল স্ক্রিপ্টিং ভাষাগুলিতে স্ট্রিংগুলি নিয়ে গোলযোগের জন্য আমার যে পরিমাণ সুযোগ ছিল তা সীমিত করে দিয়ে আমাকে উপরের পরিবর্তে সংশ্লেষিত পদ্ধতিটি ব্যবহার করতে বাধ্য করায় (যেহেতু আমি সহজেই \বাশ এবং সমস্ত কিছুর মধ্যে আচরণের পার্থক্যটি ব্যবহার করতে পারি না) অন্য)। 05AB1E এ, বাইরে' পালাবার চরিত্র হিসাবে কাজ করেস্ট্রিংগুলি, এবং এটি নেতৃস্থানীয় এড়ানোর ফলে "তা করবে না। সুতরাং আমি বাজে উদ্ধৃতি শৈলীর মধ্যে পরিবর্তন করতে ব্যবহৃত কনস্ট্রাক্টসের xঅভ্যন্তরে একটি অকেজো প্যাডিং চরিত্র (আমার স্বাভাবিকের তুলনায় ডিফল্ট ; এটি পড়া সহজ করে তোলে!) রাখার প্রয়োজন শেষ করেছিলাম "'"

প্রস্তাবনা

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

সবচেয়ে খারাপ, বর্তমান প্রথম লাইনটি (যা আমি সত্যিই আবার লিখতে চাইনি) যেখানে বন্ধনী উপস্থিত হতে পারে তার উপর এমন একটি কঠোর সীমাবদ্ধতার কিছু রাখে। এটি একটি ননজারো ডিজিট দিয়ে শুরু হয় (তাদের মধ্যে দুটি, আসলে!) এবং শীঘ্রই একটি খোলার প্রথম বন্ধনী দ্বারা অনুসরণ করা হয়। এটি প্রিলেডের একটি লুপ এবং প্রিলিওডের কন্ট্রোল প্রবাহের প্রথম দিকে লুপগুলি বিভিন্ন ইস্যু সৃষ্টি করে (বেশিরভাগ কারণে যে তারা কম কোডের চেয়ে বেশি কোড চালায়) এর মতো, কোডটি এড়াতে আমার অন্য কোনও লাইনে 0-পুনরাবৃত্তি লুপটি খুলতে হবে। mainসি প্রোগ্রামের জন্য লাইন অত্যন্ত উপযুক্ত, কিন্তু আমরা যেখানে ম্যাচিং বন্ধ বন্ধনী দিয়ে খুব সতর্কতা অবলম্বন করা আবশ্যক প্রয়োজন; খুব দূরে ডান এবং এর সাথে অনবদ্য বন্ধনী#R+লাইন সমস্যা সৃষ্টি করবে, খুব দূরে বাম এবং এটি পর্যাপ্ত কোড মন্তব্য করবে না। (মনে রাখবেন যে এক লাইনে একটি খোলার প্রথম বন্ধনী বন্ধ হওয়া প্রথম বন্ধনী এবং বিভিন্ন লাইনের সাথে মেলে can

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

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

ঘটনা

প্রিলিডে নিজেই যথেষ্ট শক্ত ছিল তবে প্রিলিডে এবং ঘটনাক্রমে একই সাথে কাজ করা দুঃস্বপ্ন ছিল। প্রিলেড কোডটিতে প্রচুর প্রতিবন্ধকতা রেখেছিল যা আমাকে অবাধে চলাফেরা করতে বাধা দেয় এবং এর ফলে গল্ফের বাইরে দুর্ঘটনাজনিত টোকেন নির্মাণ আরও শক্ত হয়ে যায়। উদাহরণস্বরূপ, প্রিলিডে কেবলমাত্র 0ডানদিকে সরানো দরকার তবে এটি ইভেন্ট 00ব্যর্থতার অংশ হিসাবে আমরা কিছু টোকেনকে ভেঙে একটি ব্যর্থ টোকেন হিসাবে পরিণত করে (কারণ যদি দুটি টোকেন ওভারল্যাপ হয় তবে তারা উভয়ই প্রত্যাখ্যান করা হবে, এবং The 00একটি টোকেন আমরা নিজে ওভারল্যাপিং ছাড়াও চেয়েছিলেন) ওভারল্যাপিং হয়। চতুর্থ অনুলিপি তৈরি করতে এবং এটিকে টোকেন হিসাবে বিবেচনা করা থেকে বিরত রাখতে আমাকে দুজনকেই বাইরে যেতে হয়েছিল।

আরও সূক্ষ্ম হ'ল টোকেন ;'এবং ␠␠(যেমন দুটি স্থানের অক্ষর)। সমস্যাটি হল এই যে উভয় এই প্রদর্শিত হয় আগেkG যে প্রোগ্রাম শুরুর ঝাঁপ করার জন্য ব্যবহৃত হচ্ছে, এবং এইভাবে (প্রোগ্রামের কেন্দ্রবিন্দু ভঙ্গ ছাড়াও) ঘটনা নিয়ন্ত্রণ প্রবাহ ভঙ্গ করবে।

␠␠এটিকে ভেঙে একটি অনুলিপি অপসারণ করা কার্যকর হবে বলে মনে হয় না। ওভারল্যাপিংয়ের মাধ্যমে এটি অপসারণ করা সম্ভব হতে পারে ( ␠=এটি একটি আশাব্যঞ্জক সম্ভাব্য ওভারল্যাপ), তবে এটি কেবলমাত্র একটি চতুর্থ অনুলিপি যুক্ত করার জন্য কম ভার্জোজ, যা আমি এখানে করেছি।

এদিকে, আমরা এর জন্য একটি আলাদা কৌশল ব্যবহার করতে পারি ;'। এটিকে ভেঙে ফেলা এমন কিছু নয় যা আমি চেষ্টা করতে চেয়েছিলাম, যদিও এটি মোটামুটি ব্যবধান-সংবেদনশীল পরিস্থিতিতে ব্যবহৃত হয়। যাইহোক, এটা না যে (প্রথম লাইন উপস্থিত সত্ত্বেও) প্রোগ্রাম শুরুর কাছাকাছি, তাই এটি যে আমরা এটি উপর (সুতরাং ঘটাচ্ছে এটা নিয়ন্ত্রণ প্রবাহ প্রভাবিত করে না করার জন্য) বরং এটি বিদ্যমান নয় প্রয়োজন চেয়ে তিড়িং লাফ পারে বিশ্বাসযোগ্য নয়। আমি লাফের জন্য ব্যবহারের জন্য উপযুক্ত টোকেনের সন্ধান করেছি যা অন্য কোনও ভাষার জন্য স্ক্রু না করে। /vপ্রথম লাইনে সামান্য আগে উপস্থিত হয়, এবং কিছুই ভাঙা না, এবং এইভাবে আমি ব্যবহার করি।

কোডের 1 কিবসে 50 টি ভাষা

এটি মিস্টাফিগিন্স দ্বারা চিহ্নিত করা হয়েছিল যে আমার 1025 বাইট জমা যদি 1024 বাইট হয় (বিশেষত পঞ্চাশতম ভাষা তার নিজস্ব একটি মাইলফলক) তবে এটি আরও নিকটতর হবে। এটি কোথাও একটি সঞ্চয় বাইট খুঁজে প্রয়োজন। এই ক্ষেত্রে, আমি ডেডফিশ-এ তিনটি বাইট সংরক্ষণ করেছি, ইনসিডেন্ট টোকেনকে সঠিকভাবে লাইন তৈরি করতে ব্যবহৃত দুটি অতিরিক্ত বাইটের ব্যয়ে এবং প্রোগ্রামটি হুবহু 1024 বাইটে নামিয়ে আনা হয়েছে।

পূর্বে, ডেডফিশ ~ কোডটি যে সূত্রটি ব্যবহার করেছিল তা ছিল (2² + 2) ² + 10 × 1 + 2 = 48. নতুন সূত্রটি (3²-2),-1ও 48 উত্পাদন করে pris যথেষ্ট সহজ সরল হওয়া সত্ত্বেও ডেডফিশ-এ লিখতে অনেক কম।

এটি আমাদেরকে .008192 এর ভিআইপি স্কোরও দেয় । এটি কেবলমাত্র একটি নতুন রেকর্ডই নয়, এটি নিজের ডান দিক থেকেও একটি দুর্দান্ত গোলাকার সংখ্যা (যা সূত্রের ইনপুট হিসাবে দুর্দান্ত গোল সংখ্যাগুলির ফলাফল)।


2
একটি টিআইও না থাকার জন্য দুঃখিত _ _> (আন্তরিকভাবে, রেং এর স্রষ্টা)
কনর ও'ব্রায়ান

@ কনরও'ব্রায়েন পিং ডেনিস? এছাড়াও, আইস ৫২৩, আপনার একক বাইট বন্ধ করে গল্ফ দেওয়ার চেষ্টা করা উচিত;)
মাইল্ডলি মিল্কয়েটস্ট

1
আপনি puts(z )যদি অদলবদল করেন (এবং Pলাইন 2 এ স্থানটি কাটাতে পারেন তবে আপনি তৈরি করেছেন পূর্ববর্তী স্থানটিকে ধন্যবাদ। এই উত্তর ব্রাভো। # 50in1 কে
সম্ভাবনা

1
এটি হওয়ার সাথে সাথে, আমি একটি আলাদা বাইট বন্ধ করেছিলাম। এখন এটি 1024 এ ঠিক আমি সত্যিই এটি পরিবর্তন করতে চাই না :-) সম্ভবত পরবর্তী উত্তরটি আমাদের কিছু সঞ্চয় সঞ্চয় করতে পারে; আরও অনেকগুলি সম্ভাবনা রয়েছে (যেমন সম্ভবত পুরানো ঘটনা প্যাডিং / ডিটোকেনাইজেশন রয়েছে যার চারপাশে আর দরকার নেই)।

6
@ ais523 সম্মত হয়েছে। এই উত্তরটি সর্বদা 1024 বাইট বোঝানো হত।
চান্স

38

37. সি ++ (জিসিসি), 776 বাইট

#  1"16" 2//v\(;@#/;n4"14"
#/*`3 auaaZ<>16/"<"6/b.q@")(22)S#  ␉␉␉␉ 
#yy␉;36!@
# ␉
#=␉>
#[#yy#yy0l0mx01k1k0l0ix0jx0h0h1d111P0eU0bx0b0o1d0b0e0e00x1d0i0fx0g0n0n11x0o0n0cx0c0o0f0c0gx0g0f0h0j0j0i0001k10mx0m0l11111100(^_)
#`<`␉|
print((eval("1\x2f2")and( 9 )or(13 ))-(0and 4)^1<<(65)>>(62))or'(\{(\{})(\{}[()])}\{}\{}\{})'#46(8+9+9+9+9+=!)#1|=/=1/24=x=9[<$+@+-@@@@=>+<@@@=>+<?#>+.--.]/
__DATA__=1#//
#.\."12"*␉
""""#//
=begin␉//
#*/
#include<iostream>␉
int main()  /*/
#()"`#"\'*/{std::cout<<37;}/*'"`"
$'main'␉//
#-3o4o#$$$
<>3N.<>␉//
#xx
#x%~~~+␉+~*ttt*.x
#xx
=end   #//
"""#"#//
#0]#echo 21#/(\[FAC,1<-#2FAC,1SUB#1<-#52FAC,1SUB#2<-#32FACLEGEREEX,1PLEASEGIVEUPPLEASE)  ap
#_~nJ|#o51\   
#0␛dggi2␛`␉|1|6$//''25  >>>>>#>27.say# =#print(17)#^_^_7LEintndus({})!<>+]/*///Z222999/3!@"26

একটি আক্ষরিক ট্যাব, একটি আক্ষরিক ESC অক্ষর; স্ট্যাক এক্সচেঞ্জ অন্যথায় প্রোগ্রাম ম্যাঙ্গাল হবে। আমি যদি আপনি এটিতে কাজ করতে চান তবে নীচের টিআইও লিঙ্কের "ইনপুট" বক্স থেকে প্রোগ্রামটি অনুলিপি করার পরামর্শ দিচ্ছি।

অনলাইনে তাদের চেষ্টা করুন!

ভগ্নস্বাস্থ্য শিঠ্ট

এই প্রোগ্রামটি কপি করে প্রিন্ট 37 সি ++, এ 36 গোলকধাঁধা মধ্যে, 35 INTERCAL এ, 34 রেল এ, 33 এ ঘটনায়, 32 বেগে চলা এ, 31 মডুলার SNUSP এ, 30 হোয়াইটস্পেস এ, 29 ট্রিগার এ, 28 ব্রেন-বিমানবিধ্বংসী কামান এ, 27 পার্ল 6 , 05 এএবি 1 ই তে 26 , পিপে 25 , থুতুতে 24 , হেক্সাগনীতে 23 , আন্ডারলোডে 22 , নিমে 21 , প্রিলেডে 20 , রেঙ্গায় 19 , কার্ডিনাল, 1817 জুলিয়া মধ্যে 16 Pyth এ, 15 খড়ের গাদা মধ্যে, 14 Turtlèd এ, 13 রুবি এ, 12 বিদারণ এ, 11 Befunge-98 এ, 10 Befunge-93, ইন 9 পার্ল 5, 8 অক্ষিপট এ, 7 Japt এ, 6 এসএমবিএফ-তে 5 , পাইথন 2-তে 5 ,> <> 4 , মিনকোল্যাংয়ে 3 , ভি / ভিমে 2 এবং পাইথন 3-তে 1 জন

প্রতিপাদন

উপরের দেখানো টেস্ট ড্রাইভার দ্বারা বেশিরভাগ ভাষা পরীক্ষা করা হয়। আপনি এখানে রেং এবং মডুলার এসএনইউএসপি এখানে পরীক্ষা করতে পারেন ; তারা যথাক্রমে 19 এবং 31 আউটপুট দেয়।

আমি টেস্ট ড্রাইভার আউটপুটটিতে আরও একটি ফর্ম্যাট যুক্ত করেছি যা ডাবল উদ্ধৃতিগুলি ছাড়ার পাশাপাশি লাইন ফিড প্রতিস্থাপন করে। এটি এমন যে আমি এখানে @Fersum দ্বারা তৈরি ফাংশনটি প্রায় জড়িয়ে থাকা এসি (জিসিসি) প্রোগ্রামটিতে একক লাইনের স্ট্রিংটি খাওয়াতে পারি । আশা করি অন্যরাও এটির মতো ব্যবহার করতে পারে।

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

আমি স্পষ্ট ঘটনা সমস্যা সমাধানের চেষ্টা করেছি, যেমন শুরু এবং শেষের জাম্প টোকেনের পরে টোকেন এবং বহিরাগত দেখায় এমন কিছু, তবে আমি 0oকেন্দ্রে টোকেনগুলিকে সামঞ্জস্য করতে পারি নি । কেন্দ্রটি নির্ধারণ করার জন্য যুক্তিটি ঠিক কী তা আমি সত্যই নিশ্চিত নই। আমি আশা করছি @ ais523 সেখানে সহায়তা করবে। 7LEintndus({})!<>+কোডের 4 র্থ অন্তর্ভুক্তির জন্য না থাকলে শেষের এই স্ট্রিংটি সমস্ত টোকেন হবে all .কেন্দ্রের টোকেনটি সামঞ্জস্য করার জন্য এগুলি সমস্তই সরানো যেতে পারে (এবং একটি হেক্সাগোনি সারিবদ্ধকরণের সাথে প্রতিস্থাপন করা হবে )।

আমি এই পোস্টটি বন্ধ করে রেখেছি এবং পরের দু'একবার ধরে কোডের মধ্য দিয়ে চলতে যাব, (ধরে নিয়েই বাইট কাউন্টটি ছাড়াই ঘটনাটি যাচাই / ঠিক করা যেতে পারে)। তবে এখন বেশ দেরি হয়ে গেছে, আর বেশিরভাগ সমস্যার মতো সমস্যার সমাধানের আগে আমি বেশিরভাগই সেখানে এটি পেতে চেয়েছিলাম। : P: P

ব্যাখ্যা

সি ++ কোড কীভাবে কাজ করে।

আমি মনে করি বেশিরভাগ লোক সি ++ এর সাথে যথেষ্ট পরিচিত, তাই আমি খুব বেশি বিশদে যাব না। ব্লক মন্তব্য আকারে আসে /* comment */। লাইন মন্তব্য আকারে আসে //comment। উত্তরটি তৈরি করতে আসল কোডটি সি ++ ব্যবহার করে int main() {std::cout<<37;}। এবং লাইব্রেরি যা STDOUT এর সাথে ইন্টারফেস করতে ব্যবহৃত হয় তা এই বিবৃতি দ্বারা উল্লেখ করা হয় #include<iostream>

/ * মন্তব্য অপব্যবহার * /

আমার জন্য, সি ++ এর গল্পটি আমার ব্রেইন-ফ্ল্যাঙ্ক উত্তরে ফিরে গেছে।

অবশেষে # 28 সন্ধান করার পরে, আমি পিপিসিগীতে পোস্ট করা কিছু অন্যান্য বহুভুতগুলি অধ্যয়ন করতে বেরিয়েছি এবং যা কিছু অধ্যয়ন করেছিল তা আমাকে কয়েকটি সহজ উত্তরগুলিতে নিয়ে গেছে (এগুলির বেশিরভাগ এখনও খুঁজে পাওয়া যায় অন্য কারও দিকে ঝুঁকে থাকলে)। তবে আরও গুরুত্বপূর্ণ বিষয় হল, আমি সাধারণভাবে বহুবিধতা সম্পর্কে একটি সিদ্ধান্তে পৌঁছেছি: বৃহত বহুভুজগুলি দুটি বিস্তৃত বিভাগের মধ্যে একটির মধ্যে পড়ে #comment মন্তব্য মন্তব্যে বা /*মন্তব্য অপব্যবহার।

এটি যাইহোক কোনও ঘটনা বা বাধা নয়, তবে এমন একটি ব্যক্তিগত মানসিক কাঠামো যা আমার পরবর্তী বেশ কয়েকটি উত্তরকে নির্দেশিত করে।

এখান থেকে আমি যুক্তি দিয়েছিলাম যে এটি যদি এখন বিশ্বের বৃহত্তম বহুভুজ হয়ে ওঠে, যা আমি বর্তমানে এটি বলে মনে করি, এটি যদি উভয় মন্তব্য পরিবার থেকে মন্তব্য আপত্তিজনক ব্যবহার করতে পারে তবে সবচেয়ে ভাল হবে। সুতরাং আমি কোনও /*মন্তব্যের ভাষা অন্তর্ভুক্ত করার উপায় খুঁজতে শুরু করে এবং বেশিরভাগ ব্যক্তিগত পরিচিতির কারণে সি পরিবারের দিকে এগিয়ে যায়।

সি ++ প্রাথমিক পরীক্ষা

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

এরপরে প্রথম /*মন্তব্য ব্লক কীভাবে শুরু করবেন সে সমস্যাটি এসেছিল । আমি জানতাম লাইনটি #পার্ল, রুবি এবং পাইথনের অদৃশ্য থাকার জন্য লাইনটি শুরু করতে হবে , তবে যা কিছু আগে এসেছিল তা /*সি # দ্বারা পড়বে। আমি #regionপ্রথমে একটি সি # ট্যাগ চেষ্টা করেছিলাম , তবে এটি 2 ডি ভাষার জন্য খুব বেশি ক্ষুব্ধ হয়ে উঠেছে। সি ++ লিখুন।

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

মৌলিক যাচাইকরণের দ্বিতীয় অংশটি হ'ল এটি নিশ্চিত করা ছিল যে প্রকৃত মুদ্রণ বিবৃতিটি অন্য কোডগুলির সাথে সুখে থাকতে পারে। আমি ব্রেইন-ফ্লাক জবাব থেকে জানি যে জাপট আন-পলায়ন করা পছন্দ করে না এবং সি ++ {বলার জন্য এটির প্রয়োজন ছিল int main() {std::cout<<37;}এবং সি ++ এর কোডের মাঝামাঝি সময়ে জাপ্টের পালানোর চরিত্রটিকে অনুমতি দেবে না। এবার আমি যথেষ্ট ভাগ্যবান যে এই কথাটি বলার জন্য আমি যদি জাপ্টের আক্ষরিক স্ট্রিংটি বাদ দিই, তবে জাপট এখনও সুখে একই ফল প্রকাশ করবে।

এদিকে, ব্রেইন-ফ্ল্যাক উভয়টিকে পছন্দ করেনি {}তবে আমি আবার ভাগ্যবান যে C ++ #এর int main()এবং {std::cout<<37;}বিবৃতিগুলির মধ্যে ঠিক ছিল , কোঁকড়ানো ধনুর্বন্ধনীকে ব্রেইন-ফ্লকের দৃষ্টিভঙ্গির বাইরে মন্তব্য করার সুযোগ দেয়।

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

2 ডি ল্যান্ডস্কেপ

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

এরপরে, বেফুঞ্জ /কিছু ভাগ না করে একটি আইডিয়াটি সত্যই পছন্দ করতে পারেন নি তবে বিদ্যমান ব্যাগঞ্জের উত্তরটি অধ্যয়ন করার পরে 16/"<"6/b.q@আমি একটি সংখ্যার ধারণাটির উপর হোঁচট খেয়েছি এবং একটি স্ট্রিং এর সামনে একসাথে ভেঙে পড়েছে //। এটি কাজ করেছিল এবং কেন সি ++ এর সাথে ঠিক আছে তা আমার কোনও ধারণা নেই তবে এটি # 1"16" 2উদ্বোধনী বিবৃতি হিসাবে তা গ্রহণ করে । আমি এটি নিয়ে প্রশ্ন তুলছি না, তবে আমি জানি যে এটি কাজ করার জন্য স্পেসগুলি প্রয়োজন।

লাইন ওয়ান

জাপট বরং স্থান সংবেদনশীল হয়ে উঠেছে এবং শীর্ষ লাইনে তার ব্যাকটিক ভিত্তিক স্ট্রিংটিতে প্রবেশ করতে চায় নি, তাই এটি এবং পিপের ব্যাকটিকটি দ্বিতীয় লাইনে স্থানান্তরিত হয়, লাইন 1 এ প্রচুর ভাষাগত জিমন্যাস্টিককে বাধ্য করে।

  • পাইপ 1 লাইনের বেশিরভাগটি পছন্দ করে না, তাই প্রথম #মন্তব্য করার পরে দ্বিতীয় স্থান স্থাপন করা হয়েছিল was
  • (জন্য Underload পূর্ববর্তী সঙ্গে Japt এড়িয়ে চলে গেলেন করা হয়েছিল \
  • #টার্টলিডে একটি লাফ টার্মিনেটর তাই এটি প্রয়োজন ছিল, তবে পাইথ এটি লুপটি সমাপ্ত করতে একটি ত্রুটি হিসাবে বিবেচনা করে, তাই পাইথের / পরে নাল দিয়ে বিভাজন প্রয়োজন#
  • আমি নিশ্চিত নই @যে প্রথম লাইনের প্রথমটি আর কী করছে, তবে পাইথ এবং জ্যাপ তার উপস্থিতির চেয়ে ভাল বলে মনে করছে যদিও @পাইথের ডকুমেন্টেশন অনুসারে এটি অর্থবোধক চরিত্র নয়।
  • এবং দেখে মনে হচ্ছে ;কোনও ফলাফল ছাড়াই প্রথমটিকে সরিয়ে দেওয়া যেতে পারে, সুতরাং সেখানে আর কী সমাধান হচ্ছে তা আমি নিশ্চিত নই, যদিও আমি সন্দেহ করি এটি পাইথ সম্পর্কিত। তবে দেখে মনে হচ্ছে ভবিষ্যতের সমাধানগুলি বাদ দিয়ে একটি বাইট সংরক্ষণ করতে পারে।
  • <> <এবং টার্টল্ড উভয়ই পূর্বের মতো একইভাবে কাজ করে <> <প্রথমটি প্রতিফলিত করে এবং প্রথম #সারির শেষে মোড়কে। এবং টার্টল্যাড লাফ দিয়েছিল #যেমন আমি উল্লেখ করেছি এবং "14"এটি মুদ্রিত স্ট্রিংয়ের সাথে শেষ হয় ।

2 ডি রাউটিং

এই সমস্যাগুলি সমাধানের সাথে, পরবর্তী পর্বে 2D টি ভাষাগুলি রুট করা হচ্ছে। পূর্বের পূর্বের কারণে প্রাথমিকটি vবেফুঙ্গস দ্বারা উপেক্ষা করা হয়েছিল #, তবে হাইস্ট্যাক এবং মিনকোলাংকে নীচে পাঠিয়েছিলেন। এখন, প্রাথমিক স্থানটি তৃতীয় মাত্রা সহ মিনকোলং প্রেরণের চেষ্টা করে, যা এর ডকুমেন্টেশনগুলি সময় মাত্রা হিসাবে উল্লেখ করে।

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

সুতরাং Minkolang এর একাধিক স্তরের শেষ লাইনে দ্বারা সীমায়িত করা হয় $$$যা আমি রেল কোডের শেষ সম্মুখের এখানে তুলে ধরেছে: #-3o4o#$$$। এখন, Minkolang স্থান হিট এবং প্রথম বৃক্ষের পতন >মধ্যে <>3N.<> ␉//এবং 3. outputting ডানদিকে আয় #>এই লাইন শুরু করার কারণ এটি একটি Perl6 মন্তব্য ব্লক বিনষ্ট করার চেষ্টা করবে দেয়া হবে না পারেনি, সেহেতু <পরিবর্তে ব্যবহার করা হয় #SMBF এবং মস্তিষ্কের জন্য সামঞ্জস্য বজায় রাখা -Flak। তবে এটি ব্রেন-ফ্ল্যাক স্ট্যাকের অদলবদল প্রক্রিয়া, তাই <>মাইনকোলং টার্মিনেটের পরে মস্তিষ্ক-ফ্লাকের সঠিক উত্তরটি সরিয়ে নিতে দ্বিতীয় সেট ব্যবহার করা হয়।

ল্যাব্রিন্থ একইভাবে স্থানটির বিপরীতে ঝাঁপিয়ে পড়ে তবে এটি ল্যাব্রিন্থকে কলাম 1 এ নীচে নামিয়ে আনে এবং এর পরে লাইন 2টি নীচে পরিণত হয় যেখানে এটি 3অন্য দেয়ালের সাথে নীচে নেমে আসে এবং এটি আবার দক্ষিণে পরিণত হয় এবং এটি আঘাত করে ;যার ফলে 3 টি পপড হয়ে যায় । তারপরে প্রোগ্রামটি ডানদিকে অবিরত থাকবে যেখানে অবশেষে একটি @প্রস্থান খুঁজে পাওয়ার আগে 36 টি সঞ্চিত এবং মুদ্রিত হয় । এই পাথটি যতটা হওয়া দরকার তার চেয়ে দীর্ঘ, তবে আমি দেখতে পেয়েছি যে প্রিলিডটি স্বাভাবিক ২০ আউটপুট হওয়ার আগে নুল বাইট আউটপুট দেবে যদি !লাইনটি প্রদর্শিত না হয় তবে তার চেয়ে এখন বামদিকে আরও কিছু ছিল any তাই আমি এটিকে আরও সঠিক করে তুলেছি, কারণ আমার এমন করার জায়গা ছিল।

এরপরে, হায়স্ট্যাকের রাউটিংটি পরিবর্তিত হয়েছিল কারণ /এখন vলাইন 1 এর আগে চলে আসে এবং রেঙ্গের মতো তার পথটি প্রতিফলিত করে। ভাগ্যক্রমে, রেং শান্তভাবে বরং সহবাস করে। |একটি হিচট হ'ল হায়স্ট্যাকের সুই রেংয়ের প্রতিচ্ছবি ছিল, তাই কোনও রেং #সঠিকভাবে শেষ করার জন্য সুইয়ের উপরে লাফের মতো বেফঞ্জ ব্যবহার করে Ren

বেফুঙ্গগুলি প্রথম লাইনটি 1 অবধি চালিয়ে vযাবে এবং নীচে দিকনির্দেশিত হবে এবং তারপরে আগে ব্যবহৃত একই কোড দিয়ে শেষ করার জন্য দ্বিতীয় লাইনের ডানদিকে যাবে। আমার অনুভূতিটি হ'ল এই টুকরোটিটি এখন কিছুটা কমিয়ে দেওয়া যেতে পারে যে কম ভাষাগুলি অর্থবহভাবে কোডটি অতিক্রম করার চেষ্টা করছে, তবে আমার মাথাটি ঘোরানোর জন্য আর কোনও প্রাচীরের দরকার পড়েনি, তাই আমি এটিকে যেমন রেখেছি।

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

লাইন 2 এবং 3

এখানে একমাত্র উল্লেখযোগ্য পরিবর্তনটি হ'ল যে :সমস্তগুলিই এক কারণ বা অন্য কারণে ছড়িয়ে পড়ে। প্রিলিডের (প্রয়োজন হতে পারে বা এটি সম্ভবত বাইট গণনা সমস্যা ছিল - সম্ভবত উভয়ই। অন্য জিনিসটি হ'ল ট্রিগারটির জাম্প কোডটি আবার সরে গিয়ে পুনরায় ব্র্যান্ড করা হয়েছে auaaZ। বেফুঞ্জের কোড পাথের জন্য আমার পূরণ করার জায়গা ছিল এবং এটি সর্বোত্তম বলে মনে হয়েছিল। এছাড়াও <এই টুকরোটিটি এসএমবিএফের নিম্নলিখিতগুলিকে ভারসাম্যপূর্ণ করতে >। চূড়ান্তভাবে, দ্বিতীয় লাইনের শেষের কাছের একাকীটি 05AB1E এর স্ট্রিং বজায় রাখতে হবে। এছাড়াও, yyলাইনে 3 লাইব্রের্থের জন্য কেবল ফিলার অক্ষর।

দ্য বিগ স্ট্রিং এসওল্যাংস

শীর্ষ দুটি লাইন সমাধান হওয়ার সাথে সাথে এটি পূর্ণ-পার্সিং এছল্যাংগুলিতে খনন শুরু করার সময় এসেছিল এবং পাইপ একটি সমস্যা দেখা দেয়। আপনার যদি মনে থাকে তবে আমরা {std::cout<<37;}জাপট স্ট্রিংটি বাদ দিয়ে কোঁকড়া ধনুর্বন্ধকে মোকাবেলা করেছি যাতে জাপটকে কোড হিসাবে বিবেচনা করতে পারে। ঠিক আছে, পিপ একই স্ট্রিং সিনট্যাক্স ব্যবহার করছে এবং কোডটি এই লাইনটিকে পছন্দ করছে না এবং পাইপকে জাপটের মতো স্ট্রিং ঘোষণার বিকল্প রয়েছে options উভয়ই 'একটি একটি চরিত্রের স্ট্রিং ঘোষণার জন্য একটি একক ব্যবহার করে, উভয়ই একই অব্যাহতি ঘোষণার ব্যবহার করে \এবং উভয়ই "স্ট্রিং আইডেন্টিফায়ার হিসাবে গ্রহণ করবে । সুতরাং জাপটকে একই বিশ্বাস না করেই পিপকে বিশ্বাস করা এটি একটি স্ট্রিং।

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

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

এখন, জাপট এবং পিপ উভয়ই এই মুহুর্তে কাজ করেছে, তবে 05AB1E "কোডটি এক্সপোজারকে প্রেরণায় কিছু ত্রুটির কারণ হিসাবে ব্যর্থ হয়েছিল । ভাগ্যক্রমে এই একটিকে "পুরো জিনিসটির চারপাশে আরেকটি সেট রেখে সমাধানের পক্ষে যথেষ্ট সহজ ছিল , স্ট্রিং ম্যানিপুলেশনগুলির সেটটি রেখে "`#"\\'*/{std::cout<<37;}/*'"`"

অবশেষে, লাইনটি এখন এইরকম দেখাচ্ছে, int main() #/*"`#"\'*/{std::cout<<37;}/*'"`"যা আন্ডারলোডের সাথে সমস্যা হয়েছিল। একটানা *, অন্য সিনট্যাক্স ত্রুটি ছিল তাই আমি এটি সন্তুষ্ট করার জন্য এর ()মাঝখানে একটি ছুঁড়েছি *

ফ্রেজিলে এসোলাংস

বড় বাধা এখন ছিল হোয়াইট স্পেস। আমি এখানে বিশদ বিবরণে যাব না কারণ বেশিরভাগ শ্বেত স্পেস সমাধান ইতিমধ্যে প্রদত্ত ব্যাখ্যাগুলিতে তৈরি হয়েছে, এবং আমি কেবল উদাহরণস্বরূপ প্রকাশ করেছি যেখানে হোয়াইটস্পেস কয়েকটি সিদ্ধান্ত নিতে বাধ্য হয়েছিল। আমি তোমাকে ভুলে যাচ্ছি তবে বড় পরিবর্তনটি হ'ল হোয়াইটস্পেসের উত্তর আউটপুট দেওয়ার আসল কোডটি 1-3 এর পরিবর্তে 2-4 লাইনে রয়েছে। এটি মূলত 1 নং লাইনে জাপটের কোড এক্সপোজারের কারণে।

Thutu মূলত কি এই লাইন ছিল সঙ্গে সমস্যা ছিল: int main() #/*()"`#"\'*/{std::cout<<37;}/*'"`"। সুতরাং, আমি #কোনও মন্তব্য সূচকের পিছনে থাকা সমস্ত সমস্যাগুলি গোপন করার জন্য প্রথমার আগে একটি লাইনফিডে ফেলেছিলাম এবং তারপরে /কোডটি প্রকাশিত অন্য যে কোনও জায়গায় ট্রেইলিংয়ের একগুচ্ছ স্প্যাম করেছিলাম ।

এই মুহুর্তে আমি হেক্সাগনিকে সারিবদ্ধ করেছি এবং নতুন সমস্যা পেয়েছি। খুব প্রারম্ভে কোড, যা জীবন হিসাবে শুরু # 1"16" 1করেছিলেন +মধ্যে /+23!@আর স্পষ্ট স্ট্যাক। সুতরাং, আমি সবেমাত্র +এইটি সরিয়ে ফেলেছি এবং এটি এখন 123 আউটপুট পেয়েছি the খোলার # 1"16" 2গাম্বিটটি পরিবর্তন করে এবং হেক্সাগনির টুকরোটি নীচে গল্ফ করে এটি ঠিক করা সহজ /3!@

ঘূর্ণিতে কিছু পরিবর্তন হয়েছিল, তবে এটি বেশিরভাগ ক্ষেত্রে নিশ্চিত হয়েছিল যে শীর্ষস্থানীয় 1 টির সঠিক সংখ্যা ঘূর্ণি-ঘটনা লাইনের সামনে উপস্থিত হয়েছিল। ঘটনার যদিও একটি টোকেন ছিল যা বিশেষত কঠিন particularly আমার কাছে ঠিক 3 কপি ছিল /*এবং */

আমি প্রথমে *//*প্রত্যেকটির একটি চতুর্থ অনুলিপি তৈরি করতে কোডের মধ্যে কোনও পুরানো জায়গা ফেলে দিতে চেয়েছিলাম , তবে আন্ডারলোড *আবার পর পরেরটি দেখতে পেল যা কোনওভাবেই যায়নি। অবশেষে আমি /এই লাইনটির প্রান্তটি int main() /*শেষ করতে একটি নিক্ষেপ করেছি , এই /*/ভেবে যে আমি টোকেনগুলি ওভারল্যাপ করব, তবে আমি কেবল দুটি টোকেনের একটির 4 টি অনুলিপি তৈরি করতে সক্ষম হয়েছি। ঠিক, ঠিক. যে কিভাবে কাজ করে। ওহ ভাল, আমি /চূড়ান্ত একটি অনুরূপ নিক্ষেপ */করতে সেখানে 4 র্থ করতে। এর পরে, আমি চূড়ান্ত লাইনে এই স্ট্রিংয়ের বেশ কয়েকটি ঘটনার টোকেনের চতুর্থ অনুলিপি সহ একগুচ্ছ হেক্সাগনি নো-অপ্সকে প্রতিস্থাপন করেছি 7LEintndus({})!<>+

উপসংহার

ঠিক আছে, এই বিশাল রিফ্যাক্টরের জন্য আমার কাছে সমস্ত তথ্য রয়েছে। আমি প্রতিশ্রুতি দিয়েছিলাম যে পরের বারের মতো এত কিছু না লিখব। এই বহুবৃত্তের জন্য সি ++ ভাল বা খারাপ পছন্দ কিনা তা আসলে আমার কোনও ধারণা নেই তবে আমার বোধে এটি কিছু বিকল্প খোলে। আশা করি এটি ভাল জিনিসের দিকে নিয়ে যায়।

শুভ কোডিং।


2
দেখে মনে হচ্ছে g++একটি দরকার .cpp, তাই আমি এটি ফাইলের এক্সটেনশনের নির্দিষ্ট বিভাগে যুক্ত করেছি। তারপরে এটি run-wrapper.shহ্যান্ডেল করার জন্য কেবল ব্যবহার করতে হয়েছিল। আমি এটিকে সম্পাদনা করব
স্নোরিংফ্রোগ

1
আমি এটিতে প্রতীকী ব্রেইনফাক যুক্ত করতে চাই কারণ এটি একটি সহজ সংযোজন, তবে ইউনিকোডের অক্ষরগুলি ক্র্যাশ পাইথন 2 - _ -
স্নোরিংফ্রাগ

1
@ স্নোরিংফ্রোগ আমি ইমোজি
সম্ভাবনা

1
এছাড়াও, **আন্ডারলোডে সিনট্যাক্স ত্রুটি নয়; এটি কেবল প্রচুর স্ট্যাক গ্রাস করে, যা আমি ধরে নিই যে তখনকার সময় এটি উপলব্ধ ছিল না (সম্ভবত আপনি কলোনগুলি আছড়ে ফেলেছিলেন বলে)। আপনি আগে বা এর মধ্যে প্রথম বন্ধনীযুক্ত গোষ্ঠী বা কোলনগুলির সাথে স্ট্যাকটি শীর্ষে রাখতে পারেন বা কখনও কখনও কোডটিকে প্যারেন্টেশাইজ করে আন্ডারলোড থেকে লুকিয়ে রাখতে পারেন।

2
@ ais523 সি এর খুব প্রথম দিনগুলিতে, যেখানে অপ্রয়োজনীয় ছিল সেই ক্ষেত্রে সময় বাঁচাতে, প্রথম লাইনটি একটি # দিয়ে শুরু না করা অবধি প্রিপ্রসেসর চালানো হয়নি। তবে যদি আপনি না চান যে আপনার প্রথম লাইনটি প্রিপ্রোসেসর স্টেটমেন্ট হয়ে উঠতে পারে, তবে আপনাকে প্রথমে একটি # দিয়ে প্রথম লাইনের শুরু করার উপায়টি প্রয়োজন যা এটি আসলে কিছু না করেই থাকে, সুতরাং আপনার নাল দিকনির্দেশনা ছিল। আমি দৃ code়ভাবে পিছনের দিকের কোডটির সাথে সামঞ্জস্যের সন্দেহ করি যা এটি ব্যবহার করে এটি স্ট্যান্ডার্ডে অন্তর্ভুক্তির জন্য যুক্তিযুক্ত।
মুজার

34

৩.মিনকোলং v0.15 (26 বাইট)

#>>>>>>>>v
print(1)#>3N.i2

এই প্রোগ্রামটি ছাপে 1 পাইথন 3, মধ্যে 2 তেজ, এবং 3 Minkolang v0.15 মধ্যে

আমি আশা করি আমি 2 ডি ভাষা চালু করে জিনিসগুলিতে গোলযোগ করব না

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

ব্যাখ্যা

#                     stops program from moving through time (really does nothing)
 >>>>>>>>             I can't use a space because then the program will move through time
         v            go down
         >            go right
          3N.         Outputs 3 and end program
                      Anything afterward is ignored since program has ended

ভিম কোনওভাবে মিনকোলংকে উপেক্ষা করে, তাই ভাল that's

পাইথনটিতে মন্তব্যগুলি উপেক্ষা করার কারণে এটিতে আসলেই সমস্যা ছিল না #

পরবর্তী...

পরবর্তী ভাষার জন্য, আমি <<> এর মতো কিছু প্রস্তাব দিচ্ছি যেহেতু #একটি প্রতিফলক হিসাবে কাজ করে (যাতে দিকটি বামে পরিবর্তিত হয় এবং এটি ডানদিকে সমস্তভাবে আবৃত হয়) যাতে আপনি এমন কোড যুক্ত করতে পারেন যা অন্য ভাষাগুলি উপেক্ষা করতে পারে


16
"সময় মাধ্যমে সরানো" ওয়াট?
টাকসক্রাফটিং

5
@ টেক্সক্রাফ্টেগ মিনকোল্যাংয়ের 3 টি মাত্রা রয়েছে (2 ডি = সাধারনত, তৃতীয়টি সময় হয়েছে)। টিবিএইচ, আমি এটি বুঝতে পারি না, এটি কেবলমাত্র টিআইও লিঙ্কের ব্যাখ্যায় বলেছে
গাভীরা

@ mbomb007 আপনি ঠিক কী উল্লেখ করছেন?
গাভী

1
@ টেক্সক্রাফট্যাগ আমি মনে করি না যে আমি এটি করতে পারি
dkudriavtsev

1
@ওয়াত এইচএম এটি বুঝতে আমার অনেক বেশি সময় নিয়েছে
TuxCraftting

34

5. পাইথন 2 (35 বাইট)

#3N.;n4
print('1'if 1/2else'5')
#i2

এই প্রোগ্রামটি কপি করে প্রিন্ট 1 পাইথন 3, মধ্যে 2 তেজ এ, 3 Minkolang v0.15, এ 4 মধ্যে> <> এবং 5 পাইথন 2।

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

পাইথন 2 এ, 1/2 হল 0, যা একটি মিথ্যা মান, যা পাইথন প্রিন্ট 5 করে Py


1
আমি এটা Minkolang কাজ করে তা নিশ্চিত করতে পারেন
গরু হাতুড়ে

1
print('1'if 1/2else'5')1/2 এবং
অন্যটির

ঠিক আছে, এটি টিআইওতে উভয় সংস্করণ নিয়ে কাজ করে।
betseg

28

৪.> <> (২৯ বাইট)

#>>>>>>>>v;n4
print(1)#>3N.i2

এই প্রোগ্রামটি কপি করে প্রিন্ট 1 পাইথন 3, মধ্যে 2 তেজ এ, 3 Minkolang v0.15 এবং 4 > এ <>

অনলাইনে চেষ্টা করে দেখুন!

কোড দৌড়ে গেল

#             - change direction to left
            4 - add 4 to stack
           n  - print as a number
          ;   - end the program

তবুও অন্য 2 ডি ভাষা।

মিনকোলংয়ের কোনও প্রভাব নেই কারণ এটি দিক পরিবর্তনের পরে চরিত্রগুলি যুক্ত করে, কোনও কারণে ভিমকে উপেক্ষা করে। #পাইথনের একটি মন্তব্য যাতে তাদের কোনও পরিবর্তন হয় না।


28

28. ব্রেন-ফ্লাক , 280 বাইট

#v`16/"<"6/b.q@"(::):::   (22)S#;n4"14"
#>3N6@15o|> ^*ttt*~++~~~%
#=~nJ<R"12";
#[
#`<`|
print((eval("1\x2f2")and (9) or (13))-(0and 4)^(1)<<(65)>>62)or'(\{(\{})(\{}\/^23!@[()])}\{})(\{}\{})'#@46(8+9+9+9+9+=!)=#print(17)#]#echo 21#|/=1/24=x=90/
#8␛dggi2␛` |1|6$//''25  #>say 27#"26

Usual যথারীতি আক্ষরিক ESC চরিত্রের প্রতিনিধিত্ব করে।

এই প্রোগ্রামটি ছাপে 28 ব্রেন-বিমানবিধ্বংসী কামান মধ্যে , 27 পার্ল 6 , 26 05AB1E মধ্যে , 25 পিপ মধ্যে , 24 Thutu মধ্যে , 23 Hexagony মধ্যে , 22 Underload মধ্যে , 21 নিম মধ্যে , 20 প্রস্তাবনা মধ্যে , 19 Reng (পরীক্ষিত মধ্যে এখানে ), 18 অঙ্কবাচক মধ্যে , 17 জুলিয়া মধ্যে , 16 Pyth মধ্যে , 15 খড়ের গাদা মধ্যে , 14 Turtlèd মধ্যে ,13 রুবি মধ্যে , 12 বিদারণ মধ্যে , 11 Befunge-98 এ , 10 Befunge-93 এ , 9 পার্ল 5 , 8 অক্ষিপট মধ্যে , 7 Japt মধ্যে , 6 SMBF মধ্যে , 5 পাইথন 2 , 4 মধ্যে> <> , 3 মধ্যে মিনকোলাং , ভিমে / ভিতে 2 , পাইথন 3 এ 1

প্রথমে, আমি বলতে চাই যে এই চ্যালেঞ্জের ক্ষেত্রে অবদান রাখতে সক্ষম হওয়া কী এক সুযোগস্বরূপ। আমি কয়েক সপ্তাহ আগে কেবল কোড গল্ফের কথা শুনেছিলাম এবং তখন থেকেই আমি একেবারে আচ্ছন্ন হয়ে পড়েছি। আমি যখন এই চ্যালেঞ্জটি পেয়েছি তখন প্রথম জিনিসটি কোডটি বিভিন্ন ভাষায় যেমন চালানোর চেষ্টা করা হয়েছিল কেবল তখনই দেখার জন্য যে আমি কাজ করতে পারি তার কিছু খুঁজে পেতে পারি। যখন আমরা # 6 এর মত ছিলাম তখন এটি ফিরে আসল। আমি সত্যই বলেছি যে এই চ্যালেঞ্জটি অসম্ভব অসম্ভব, তবে আমরা এখানে (# 28 বাহ!)। আমি যে সময়ে খুঁজে পেয়েছি তা হ'ল ব্রেন-ফ্ল্যাকের মান 2। সুতরাং আমি এটি শিখতে বেরিয়েছি।

মস্তিষ্ক-ফ্ল্যাক এই ধরণের চ্যালেঞ্জের জন্য দুর্দান্ত দুর্দান্ত বলে প্রমাণিত হয়েছে কারণ এটি শেখা মোটামুটি সহজ এবং এটি বাদে অন্য কোনও চরিত্রকে উপেক্ষা করে (){}[]<>#একই লাইনে এটির পরে কিছু মন্তব্যও ঘটে, তাই মস্তিষ্ক-ফ্লাকের জন্য সর্বশেষ জমা দেওয়ার একমাত্র অংশ print((eval("1\x2f2")and 9 or 13)-(0and 4)^1<<65>>62)যা পরে যুক্ত হয়েছিল ((())()<<>>)। সুতরাং প্ল্যানটি অজগর কোড হিসাবে আমি কী ভাবতে এসেছি তাতে অতিমাত্রায় প্রথম বন্ধনী যুক্ত হয়ে উঠেছে।

আমি অজগর বিটগুলি ব্রেন-ফ্ল্যাঙ্কে পার্স করতে সংশোধন করেছি ((() () ())()()<<()>>)যার সাথে প্রথম স্তরের 5 এবং দ্বিতীয়টি 3 স্ট্যাকের সমান হয় তার পরে আমি 5 দিয়ে স্কোয়ার করছি ({({})({}[()])}{})এবং ফলাফলটি 3 দিয়ে যুক্ত করব ({}{})। এই স্কোয়ারিং এবং যুক্তটি পাইথন দৃষ্টিকোণ থেকে একটি স্ট্রিংয়ে চলছে। আমি এখানে পাইথনের যুক্তি বোঝার দাবি করতে পারি না, তবে আমি দৃ confident়ভাবে আত্মবিশ্বাসী যে এই স্ট্রিংটি অন্য কয়েকটি ভাষায় অর্থপূর্ণ উপায়ে মূল্যায়ন করা হচ্ছে না, কেবল কয়েকটি ব্যতিক্রম ব্যতীত।

জাপট, এটি দেখা যাচ্ছে, কোডযুক্ত স্ট্রিংয়ের মধ্যে কোঁকড়া ধনুর্বন্ধনী ব্যাখ্যা করে, তবে এই স্ট্রিংয়ের \প্রতিটিটির আগেই এড়াতে পারা যথেষ্ট সহজ ছিল {। কিন্তু এটি বাইট গণনাটি ফুলে ফেঁপে উঠেছে। এটাই জীবন.

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

05AB1E পাইথন স্ট্রিংয়ের আমার প্রথম প্রচেষ্টাটি ডাবল কোটে আবৃত করা পছন্দ করেনি, তবে প্রত্যেকে একক উদ্ধৃতি ব্যবহার করতে রাজি মনে হয়েছিল। সেখানে বড় কথা নয়।

এই মুহুর্তে হেক্সাগনির একমাত্র ভাষা ছিল এবং আমি স্পষ্টতই পরবর্তী হেক্স আকারের চৌম্বকটি পেরিয়ে গিয়েছিলাম, তাই সময় নষ্ট হওয়ার ছিল। /^23!@Hexagony কোড এবং আমি এটা সম্পর্কে সুপার উত্তেজিত, কারণ আমি মনে করি এটা ভবিষ্যতে সংযোজন অনেক সহজ করে দেবে। এই ছোট্ট টুকরোটি মূলত কোনও কোড নষ্ট না করে অজগর স্ট্রিংয়ের যে কোনও জায়গায় সরানো যেতে পারে। এটি সম্পূর্ণ স্ট্রিং ঠিক তাই আমরা সকলেই একই পৃষ্ঠায় আছি '(\{(\{})(\{}\/^23!@[()])}\{})(\{}\{})'। এই /অংশটি এসই -> এনডাব্লু থেকে ডাব্লু-> ই পর্যন্ত এই স্ট্রিংয়ের নিচে হেক্সাগনির পথ নির্ধারণ করে, যার সাথে আমাদের প্রচুর প্রস্থান। (পূর্ববর্তীটি \হ'ল পালানো/থুতু বিটিডাব্লু)। আমার ধারণাটি এখানে যদি আপনি পরিবর্তন করেন তবে, প্রতিক্রিয়াগুলি হ'ল আপনি কোনও সময় এই স্ট্রিংটির মধ্য দিয়ে যাচ্ছেন এবং কোড পাথটি ধরতে এবং স্ট্রিংয়ের মধ্যে আপনি হেক্সাগনি টুকরোটিকে স্লাইড করতে পারেন এবং সঠিক উপসংহারে পাঠাতে পারেন। জাপট \এবং এর মধ্যে না আসার জন্য কেবল খেয়াল রাখুন {। যদি আপনার @এটির সাথে সমস্যা হয় তবে স্ট্রিংয়ের ডানদিকে ডানদিকে অন্য হেক্সাগনির সমাধান থেকে সবেমাত্র বাকী রয়েছে এবং অন্য ভাষাগুলির ফলাফল ছাড়াই অপসারণ করা যেতে পারে। এবং অবশ্যই যদি আপনি হেক্সাগনির কোড পাথটিকে বিপরীত দিকে যেতে দেখেন তবে আপনি অবশ্যই এর @!32^\পরিবর্তে ব্যবহার করতে পারেন /^23!@। এছাড়াও, আপনি লক্ষ্য করতে পারেন যে আমার সমাধানটি মুছে ফেলে===2বাইট সীমাতে জিনিস রাখতে কোড থেকে। কেউ এখানে উল্লেখ করেছেন যে এটি হেক্সাগনির প্রান্তিককরণের জন্য এবং আমার আর এটির দরকার নেই।

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

পিএস আমি এটি লেখার সময় বুঝতে পেরেছিলাম আমার একটি ভুল হয়েছে। আমি বিশ্বাস করেছিলাম যে আমি হেক্সাগনির স্মৃতি প্রান্তটি সাফ করে দিচ্ছি ^, তবে স্পষ্টতই আমি এটিকে কোনও অপ-বিকল্প দিয়ে প্রতিস্থাপন করতে পারি ence আপনি যদি এই বিভাগটি চালনার চেষ্টা করেন তবে ^সম্ভবত এটি হওয়া উচিত +। আমি স্পষ্টতই এর +আগে গিয়েছিলাম, তবে ভবিষ্যতের বহুভুজীরা এত ভাগ্যবান নাও হতে পারে।

শুভকামনা!


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

এবং এখন আমি ব্যাখ্যাটি দেখতে পাচ্ছি; আমি এটা পড়তে খুব ভাল লেগেছে। "পাইথন কোড "টি আসলে বেশ কয়েকটি স্ক্রিপ্টিং ভাষা (পাইথন, পার্ল ৫, রুবি) দ্বারা ব্যবহৃত হয় তবে সেগুলি সমস্ত ব্যাখ্যা করে andএবং orএকইভাবে হয়, সুতরাং আপনার স্ক্রিপ্টিং ভাষায় কোড মন্তব্য করার পদ্ধতি কিন্তু ব্রেন-ফ্লাক কাজ করে না তাদের সকলের মধ্যে

1
ধন্যবাদ @ ais523। আপনি আমার কোড স্থাপনের উল্লেখ করেছেন। সুতরাং, আমি জানতাম যে স্ক্রিপ্টিং ভাষাগুলির কাছে দৃশ্যমান এবং কোথাও আমার ব্রেইন-ফ্লাক অপারেটরদের রাখতে হবে এবং আমার প্রাথমিক, ভুল ধারণাটি ছিল এটি একটি নতুন লাইনে সবচেয়ে সহজ হবে। এটি রেটিনার পক্ষে কাজ করে না এবং আমি যদি সম্ভব হয় তবে রেটিনা সংশোধন করার চেষ্টা করে যে 2D ভাষার সমস্যা তৈরি করেছি তা উভয়ই এবং আমি এটি দুটোই মোকাবেলা করতে চাইনি। আমি বর্তমান ভাগ্যক্রমে হোঁচট খাওয়ার ভাগ্যবান।
সম্ভাবনা

2
চমত্কার উত্তর, এবং একটি খুব গভীর ব্যাখ্যা! আপনি মস্তিষ্কের ঝাঁকুনি উপভোগ করেছেন শুনে আমি সত্যিই আনন্দিত : ডি
ডিজেএমসিহেম

25

38. সি, 804 বাইট

#  1"16" 3//v\(@#/;n4"14"
#/*`3 auaaZ<>16/"<"6/b.q@")(22)S#  ␉␉␉␉ 
#yy␉;36!@
# ␉
#=␉>
#[#yy#yy0l0mx01k1k0l0ix0jx0h0h1d111P0eU0bx0b0o1d0b0e0e00x1d0i0fx0g0n0n11x0o0n0cx0c0o0f0c0gx0g0f0h0j0j0i0001k10mx0m0l11111100(^_)
#`<`␉|
print((eval("1\x2f2")and( 9 )or(13 ))-(0and 4)^1<<(65)>>(62))or'(\{(\{})(\{}[()])}\{}\{}\{})'#46(8+9+9+9+9+=!)#1|=/=1/24=x=9[<$+@+-@@@@=>+<@@@=>+<?#>+.--.]/
__DATA__=1#//
#.\."12"*␉
""""#//
=begin␉//
#
#*/␉
#define␉z  sizeof 'c'-1?"38":"37"
#include␉<stdio.h>
int main()  /*/
#()`#`\'*/{puts(z);;}/*'``
$'main'␉//
#-3o4o#$$$
<>3N.<>␉//
#xx
#x%~~~+␉+~*ttt*.x
#xx
=end   #//
"""#"#//
#0]#echo 21#/(\[FAC,1<-#2FAC,1SUB#1<-#52FAC,1SUB#2<-#32FACLEGEREEX,1PLEASEGIVEUPPLEASE)  ap
#_~nJ|#o51\   
#0␛dggi2␛`␉|1|6$//''25  >>>#>27.say# =#print(17)#^_^_7LEintndus({})!<>+]/*///Z222999/(3!@)"26

একটি আক্ষরিক ট্যাব, একটি আক্ষরিক ESC অক্ষর; স্ট্যাক এক্সচেঞ্জ অন্যথায় প্রোগ্রাম ম্যাঙ্গাল হবে। আমি যদি আপনি এটিতে কাজ করতে চান তবে নীচের টিআইও লিঙ্কের "ইনপুট" বক্স থেকে প্রোগ্রামটি অনুলিপি করার পরামর্শ দিচ্ছি।

অনলাইনে তাদের চেষ্টা করুন!

ভগ্নস্বাস্থ্য শিঠ্ট

এই প্রোগ্রামটি কপি করে প্রিন্ট 38 সি, এ 37 সি ++, এ 36 গোলকধাঁধা মধ্যে, 35 INTERCAL এ, 34 রেল এ, 33 এ ঘটনায়, 32 বেগে চলা এ, 31 মডুলার SNUSP এ, 30 হোয়াইটস্পেস এ, 29 ট্রিগার এ, 28 ব্রেন-বিমানবিধ্বংসী কামান এ, 27 পার্ল 6, মধ্যে 26 05AB1E এ, 25 পিপ এ, 24 Thutu এ, 23 Hexagony এ, 22 Underload এ, 21 নিম এ, 20 প্রস্তাবনা এ, 19 Reng এ, 18অঙ্কবাচক মধ্যে 17 জুলিয়া এ, 16 Pyth এ, 15 খড়ের গাদা মধ্যে, 14 Turtlèd এ, 13 রুবি এ, 12 বিদারণ এ, 11 Befunge-98 এ, 10 Befunge-93, ইন 9 পার্ল 5, 8 অক্ষিপট এ, 7 মধ্যে Japt, 6 SMBF মধ্যে 5 পাইথন 2, মধ্যে 4 মধ্যে> <>, 3 Minkolang এ, 2 ভি / তেজ, এবং 1 পাইথন 3।

প্রতিপাদন

উপরের দেখানো টেস্ট ড্রাইভার দ্বারা বেশিরভাগ ভাষা পরীক্ষা করা হয়। আপনি এখানে রেং এবং মডুলার এসএনইউএসপি এখানে পরীক্ষা করতে পারেন ; তারা যথাক্রমে 19 এবং 31 আউটপুট দেয়।

এখানে ঘটনা টোকেনাইজারের সামান্য টুইটের সংস্করণটি দেওয়া হয়েছে, এটি কিছুটা কম গল্ফযুক্ত হতে তৈরি করা হয়েছে তবে কিছুটা বেশি দরকারী।

ব্যাখ্যা

আমি সবসময়ই ছোট ছোট বহুগুণ তৈরি করতে পছন্দ করি তবে এর চেয়ে বড় কোনওটি কখনও নয়; আমি ভেবেছিলাম আমার সম্ভবত এটি যেতে হবে!

@ চান্সের দুর্দান্ত সি ++ উত্তরের পরে সি পরবর্তী যুক্তিযুক্ত পছন্দ বলে মনে হয়েছিল এবং এটি যুক্ত করার তুলনামূলক স্বাচ্ছন্দ্য দেওয়া হয়েছিল (কিছু পূর্ববর্তী উত্তরের তুলনায়), সুযোগ পেলেই আমি এটির পক্ষে যাব!

আমি সি এবং সি ++ এর মধ্যে পার্থক্য বলতে খুব সুপরিচিত কৌশলটি ব্যবহার করেছি; একটি অক্ষরের ধ্রুবকটির আকার সি ++ এ 1 বাইট হয় তবে সি এর আকার (কমপক্ষে 16 বিট হওয়ার গ্যারান্টিযুক্ত) আকারে এই কোডটি খুব বহনযোগ্য হতে পারে (সম্ভবত এমন সিস্টেমগুলির ক্ষেত্রে যা ব্যাকগুলির জন্য যথেষ্ট বিটযুক্ত বাইট ব্যবহার করে তবে) আমি একটি বোকা ভুল করেছি।

আমি প্রথমে প্রতিটি printfইনলাইন দিয়ে একটি করার চেষ্টা করেছি , তবে একাধিক বন্ধনী জাপটকে সমস্যা সৃষ্টি করছে বলে মনে হয়েছে, তাই আমি লাইনটিকে আরও সহজ করে দিয়েছি, যা এটি ঠিক করার জন্য উপস্থিত হয়েছিল।

এর পরে, কার্ডিনাল এটি পছন্দ করেনি, আমি প্রিন্টএফটির কারণে অনুমান করেছি %, সুতরাং স্ট্রিংগুলি ম্যানিপুলেটিংয়ের মাধ্যমে স্যুইচ করে আমাকে সেটিকে সমাধান করতে হবে।

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

সুতরাং আমি যে সি কোডটি কিছুটা নিচে গল্ফ করেছিলাম এবং এটি নিয়ে এসেছিলাম puts(sizeof'c'-1?"38":"37");যা প্রায় কাজ করেছিল, ব্যতীত আন্ডারলড সেগফোল্টিং ছিল, সম্ভবত বন্ধনীগুলিতে জটিল প্রকাশের কারণে।

পার্ল in এর >>সাথে ম্যাচের জন্য প্রয়োজনীয় অতিরিক্তটি সরিয়ে দেওয়ার পরেও <<আমি এর আরও জটিল অংশটিকে একটি চর অ্যারে অ্যাসাইনমেন্টে বিভক্ত করার জন্য একটি সংক্ষিপ্ত পর্যায়ে পেতাম না। তাই আমি পরিবর্তে প্রিপ্রসেসর ব্যবহার করে তাকিয়ে শেষ করেছি।

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

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

আমি এখন ঘটনা পরীক্ষা করেছি, এবং এটি কার্যকর! @ চ্যান্স এবং @ ল্লিওটেল্যাকসকে অনেক ধন্যবাদ, যা আমি সবেমাত্র বুঝতে পেরেছি যে এটি কোনও ওয়েলপ্স পেতে আমাকে সাহায্য করার জন্য ওয়েলশ নাম নয়। এই বাক্য গঠনটি হাইলাইট করুন;টোকেনের আগে উপস্থিত টোকেনটি আমি সরিয়েছি #yy। আমি স্টেটমেন্টটির ;পরে কেবল একটি অতিরিক্ত যুক্ত করে gets(আমার আগের প্রয়াসের সাথে জড়িত s(যা এখন পূর্বের তুলনায় সি প্রোগ্রামে আরও অনেক বেশি প্রদর্শিত হয়েছিল) একটি "ডিটোকেনাইজিং" স্ট্রিংয়ের সাথে যুক্ত হয়েছিল ;, তবে এটি প্রমাণিত হয়েছিল যে আমি ছিলাম হেক্সাগনির জন্য প্রকৃতপক্ষে একটি চরিত্র (ধন্যবাদ @ চ্যান্স), সুতরাং এই শেষ লাইনে একটি অতিরিক্ত চরিত্র যুক্ত করার চেষ্টা ব্যর্থ হওয়ার পরে, আমি কেবল এটিকে আবার পরিবর্তন করেছি এবং অন্য কোথাও অতিরিক্ত সেমিকোলন যুক্ত করেছি)।

আমি কেন্দ্রীকরণে কিছু চেষ্টা করার জন্য কিছু অন্যান্য টোকেন পরিবর্তন করার জন্য, ট্যাব লাইনফিডকে আবার টোকেনাইজ করতে ( #includeলাইনটির শেষে ট্যাবটি মাঝখানে রেখে, এভাবে তিনটি টোকেন তৈরি করে) শ্বেত স্পেসকে কিছুটা সামান্য টুইট করেছি to defineলাইনে একটি স্থান সরিয়ে ট্রিপল-স্পেস টোকেনকে ডি-টোকেনাইজ করুন ।

অবশেষে, প্রাথমিক জমা দেওয়ার একদিন পরে, আমি সিদ্ধান্ত নিয়েছি যে সিসিটি উত্পাদিত (এবং যার ফলে ক্ল্যাং ব্যর্থ হয়েছিল) সেই ভীতিজনক প্রিপ্রোসেসরের সতর্কতার তলদেশে পৌঁছাব। আমি নির্ধারণ করেছি যে প্রথম লাইনটি একেবারে কাজ করার কারণটি এটি প্রিপ্রোসেসর থেকে আউটপুট যা আসল ফাইলের নাম এবং লাইন নম্বরগুলির মতো ডিবাগ তথ্য সরবরাহ করে। তারা প্রথম লাইনে প্রথম "2" পছন্দ করেনি, কারণ এর অর্থ ছিল "অন্তর্ভুক্ত করা ফাইল থেকে প্রদত্ত ফাইলটিতে ফিরে আসা", এবং স্পষ্টতই অসম্ভব যে এখানে কোনও ফাইল অন্তর্ভুক্ত করা হয়নি। এটিকে "1" এ পরিবর্তন করার পরে (সাধারণ শিরোনাম শুরু করুন) কয়েকটি আরও অনেক ভাষা চোক করে ফেলেছে, আমি এটিকে পরিবর্তন করে একটি "3" (অভ্যন্তরীণ উপাদান শিরোনাম শুরু করুন) করলাম, এটি কেবলমাত্র হেক্সাগনিকেই ভেঙে দিয়েছে, কারণ এটি এখন 2 এর উপর নির্ভর করে। সুতরাং হেক্সাগনি কোডের শুরুতে আমি একটি খোলা বন্ধনী যুক্ত করেছি(3 থেকে 2 এ হ্রাস করতে, তারপরে রেটিনা, প্রিলিওড এবং আন্ডারলোডকে সন্তুষ্ট করতে হেক্সাগনি কোডের )শেষে ( @) এর পরে একটি বন্ধনী বন্ধনী যা সমস্ত প্রত্যাশিত মিলে যাওয়া বন্ধনীগুলি। পুনরায়-টেস্টিং রেং এবং মডিউলার এসএনইউএসপি কোনও সমস্যা তৈরি করে নি, এবং ঘটনা টোকেনগুলি ঠিক দেখাচ্ছে, তাই আমি এখন এটি স্থির করেছিলাম! আমি এটি বিভিন্ন বিদেশী স্থাপত্যের উপর পরীক্ষা করেছি এবং এটি কাজ করে বলে মনে হচ্ছে to আমি জানি যে এটি কোনও কোড গল্ফের জন্য গুরুত্বপূর্ণ নয়, এবং ভবিষ্যতের সাবমিটারদের বাইট গণনা বা যা কিছু (যদি কেউ ইতিমধ্যে এই সমাধানের উপর ভিত্তি করে শুরু করেছে এবং তাদের পরিবর্তন করতে চায় না) তবে এটি আবার ভাঙতে হবে তাতে আমি আপত্তি করব না অত্যধিক), তবে এটি করার একটি ভাল কারণ রয়েছে - টিআইওর উদ্দেশ্য-সি সংকলক কেবল কলংকে সমর্থন করে, তাই কেউ যদি এটি যুক্ত করতে চায় তবে এটি খুব কার্যকর হবে!

মনে রাখবেন আমি এর মধ্যে বেশিরভাগ ভাষা কখনই ব্যবহার করি নি, আমি আশা করি আমার সাফল্য আরও নতুনদের এই চেষ্টা করার জন্য উত্সাহিত করবে!


@ লিওটেল্যাক্স হুহ, তার উত্তরে চান্সের সাথে যুক্ত সি প্রোগ্রামের টোকেনের তালিকার জন্য আলাদা আউটপুট ছিল: # হায়; ^ _ ^ _
মুজার

ত্রুটিটি ছিল যে আমি আমার প্রোগ্রামটিতে মানটি আটকে
দিচ্ছিলাম

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

1
ঘটনার কাজ!
মুজার 21

1
@ চ্যান্স আমি সবেমাত্র দেখছিলাম যে সি প্রিপ্রসেসরটিতে প্রথম লাইনটি কীভাবে বৈধ, এটি দেখে মনে হচ্ছে এটি প্রিপ্রসেসর থেকে প্রাপ্ত আউটপুটটি ডিবাগ তথ্য ইত্যাদির জন্য ব্যবহৃত হয়। এর অর্থ "এখন" (16) নামের "16" ফাইল দিয়ে ফিরতে হবে লাইন 1". আমি মনে করি এটি 2 হ'ল ক্ল্যাংকে শ্বাসরোধ করে তোলে (এবং জিসিসি সতর্ক করে) যেহেতু এটি কোনও ফাইলের মধ্যে প্রথম স্থানে যায় নি, তাই ফিরে আসার মতো কিছুই নেই। আমি যখন সুযোগ পাই তখন এটিকে ক্ল্যাংয়ের মধ্যেও সংকলিত করার জন্য আমি এটিকে অন্য কোনওটিতে পরিবর্তন করার জন্য পরীক্ষা করতে পারি। দেখুন gcc.gnu.org/onlinedocs/cpp/...
Muzer

25

65. ALGOL 68 (জিনি) , 1634 বাইট

#16  "(}+?23!@)-("//*\Dv;'[af2.q]PkPPX'#CO)"14";n4
#/*0|7//```"`   [-'][!(>77*,;68*,@;'1,@10␉␉11)(22)S␉␉(1 P''53'S^'q
#>␉
# 36!@␉`
#
#_>++++.>.}+?
#`<`
#<]}} +<[<.>>-]>[
#{
#z}
#
#=x<R+++++[D>+++++++59L+++<-][pPLEASE,2<-#2DO,2SUB#1<-#52DO,2SUB#2<-#32DOREADOUT,2PLEASEGIVEUPFACiiipsddsd4O6O@oh]>@@+.---@.>][
#x%+>+=ttt Z_*.
#D>xU/-<+++L
#R+.----\).>]|
#[#[(?2?20l0v0x1k1kMoOMoOMoOMoOMOO0l0ix0jor0h0h1d111x0eU0yx0y0moO1d0y0e0e00m1d0i0fx0g0n0n11MoOMoOMoOMoOMoOMoOMoOMoOMoOMoOMoOMoOMoOmOoMOo0moo0n0tx0t0moO0f0t0gOOM0g0f0h0j0j0i0001k1x0vx0v0l111111^_00)
[ "]56p26q[puts 59][exit]" ,'\[' ];#/s\\/;print"24";exit}}__DATA__/
#
###x<$+@+-@@@@=>+<@@@=>+<?#d>+.--.

#
'(((p\';a=a;case $argv[1]+${a:u} in *1*)echo 50;;*A)echo 54;;*)echo 58;;esac;exit;';print((eval("1\x2f2")and 9or 13)-(0and 4)^1<<(65)>>62)or"'x"or'{}{}{}{}({}<(((((()()())){}{})){}{})>){(<{}(({}){})>)}{}({}())wWWWwWWWWwvwWWwWWWwvwWWWwWWWWWWWWwWWWWwWWWWWWWwWWWWWWWW li ha '#}#(prin 45)(bye)46(8+9+9+9+9+=!)((("'3)3)3)"'
__DATA__=1#"'x"
#.;R"12"'
###;console.log 39
""""
=begin
<>{nd
#sseeeemPaeueewuuweeeeeeeeeeCis:ajjap*///;.int 2298589328,898451655,12,178790,1018168591,84934449,12597/*
#define p sizeof'p'-1?"38":"37"
#include<stdio.h>
main ( ){puts(p);}/*
print 61
#}
disp 49;
#{
}<>
$'main'3
#-3o4o#$$$
#<T>"3"O.s
=end
"""#"
#}
#s|o51~nJ;#:p'34'3\=#print (17)#>27.say#]#print(47)#]#echo 21# xi xi xi xi xi xi xi xi xi xi xi xi xi xi xi xi xi xi xi xi xi xi xi xi xi xi xi xi xi xi ax fwwvwWWWwWWWWwvwWWwWWWwvwWWwWWWwvwWWwWWWwvwWWwwwwwwwwwwwWWWwWWWWWwWWWWWWWwWWWWWWWWWwWWWWWWWWWWWWWWWwWWWWWWWWWWWWwvm 
# sss8␛dggi2␛`|$// ''25  16*///~-<~-<~-<<<~-XCOprint("65")#s^_^_2229996#

ভিআইপি স্কোর ( ভার্সেটাইল ইন্টিজার প্রিন্টার ): .005949 (উন্নত করতে, পরবর্তী এন্ট্রি 1710 বাইটের বেশি হওয়া উচিত নয়)

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

ভগ্নস্বাস্থ্য শিঠ্ট

এই প্রোগ্রামটি ছাপে 65 কম্পিউটারে কাজ করার একটি ভাষা 68, ইন 64 নিদারুণ মানসিক যন্ত্রণার সঙ্গে, 63 ব্রায়ান & চাক, এ 62 ঘাস, এ 61 সাইলো এ, 60 Moorhens 2.0 এ, 59 Tcl, এ 58 ksh এ, 57 বিজ্ঞ এ, 56 ডিসির, 55 মস্তিষ্কে -Flak ক্লাসিক, 54 Zsh মধ্যে 53 ঠেলা এ, 52 গরু, 51 পরিষদ, 50 ব্যাশ এ, 49 অক্টেভ এ, 48 Deadfish ~ মধ্যে 47 লিলি এ, 46 Cubix এ, 45PicoLisp মধ্যে 44 alphuck এ, 43 জালি এ, 42 মন্দ এ, 41 brainfuck এ, 40 সংক্ষিপ্ত-2D মধ্যে, 39 CoffeeScript এ, 38 সি, 37 সি ++ 36 গোলকধাঁধা মধ্যে, 35 INTERCAL এ, 34 রেল এ, 33 ঘটনা মধ্যে 32 বেগে চলা এ, 31 মডুলার SNUSP মধ্যে 30 হোয়াইটস্পেস এ, 29 ট্রিগার এ, 28 ব্রেন-বিমানবিধ্বংসী কামান এ, 27 পার্ল 6 এ, 26 05AB1E এ, 25 পিপ এ,24 Thutu মধ্যে 23 Hexagony এ, 22 Underload এ, 21 নিম এ, 20 প্রস্তাবনা এ, 19 Reng এ, 18 অঙ্কবাচক এ, 17 জুলিয়া এ, 16 Pyth এ, 15 খড়ের গাদা মধ্যে, 14 Turtlèd এ, 13 রুবি এ, 12 সালে বিদারণ, 11 Befunge-98, ইন 10 Befunge-93, ইন 9 পার্ল 5, মধ্যে 8 অক্ষিপট এ, 7 Japt এ, 6 SMBF এ, 5 পাইথন 2, মধ্যে 4 > <> এ, 3মিনকোল্যাংয়ে, ভি / ভিমে 2 এবং পাইথন 3 এ 1 1

প্রতিপাদন

উপরের টেস্ট ড্রাইভারের সাথে বেশিরভাগ ভাষা পরীক্ষা করা যেতে পারে তবে স্থানীয়ভাবে 6 টি ভাষা পরীক্ষা করতে হয়।

  • রেং এখানে 19 আউটপুট পরীক্ষা করা যেতে পারে ।

  • মডুলার এসএনইউএসপি এখানে 31 আউটপুট পরীক্ষা করা যেতে পারে ।

  • টোকেনের ম্যানুয়াল ব্যালান্সিংয়ের মাধ্যমে ঘটনার 33 টি পরীক্ষার জন্য যাচাই করা হয়েছিল।

  • এই দোভাষীটি ব্যবহার করে ডেডফিশ inter স্থানীয়ভাবে 48 আউটপুট দেওয়ার জন্য পরীক্ষা করা যেতে পারে । নোট করুন যে ডেডফিশ poly বহুগ্লোটকে স্টিডিনে খাওয়ানোর জন্য নিয়ে যায় তবে >>স্ট্যান্ডিন আউটপুটে অনেকগুলি প্রম্পট প্রিন্ট করে , যা কোনও ডেডফিশ ~ প্রোগ্রাম চালানোর অনিবার্য পরিণতি।

  • মুরহেনস ২.০ এই দোভাষী ব্যবহার করে ০ আউটপুট পরীক্ষা করা যায় ।

ALGOL 68

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

আমি ALGOL অন্তর্ভুক্ত করতে বেশ উচ্ছ্বসিত কারণ এটি কম্পিউটার ইতিহাসে আরও একটি বড় পদক্ষেপ যা আমরা এই স্মৃতিসৌধে যোগ করতে পাই আমরা একটি বহুভক্তকে ডাকি। এটা দুর্দান্ত জিনিস।

ALGOL68 তিনটি বড় ALGOL স্পেসিফিকেশনগুলির মধ্যে সর্বশেষতম, অন্যটি ALGOL60 এবং ALGOL58। মজার বিষয় হল, স্পেসিফিকেশনের একটি নির্দিষ্ট বাক্য গঠন নেই, যার অর্থ টোকেনগুলি সংজ্ঞায়িত করা হয়েছে তবে বানান নয়। এটি ভাষাটিকে উচ্চতর অনুবাদককে নির্ভরশীল করে তোলে কারণ কোনও প্রদত্ত দোভাষী কোনও মন্তব্য ব্লক সূচনা করতে আলাদা প্রতীক ব্যবহার করতে পারেন। স্পেসিফিকেশন ¢একটি মন্তব্য ব্লক সূচনা হিসাবে বর্ণনা করে । তবে যেহেতু ¢বেস 127 এসকি কোডগুলির মধ্যে নেই তা উপলব্ধিযোগ্যভাবে উপলব্ধ দোভাষীদের মধ্যে মন্তব্য সূচক হিসাবে খুব বেশি ব্যবহার দেখায় না। ওয়েল এটি সক্রিয় যে জেনি ইন্টারপ্রেটার স্পেল ¢হিসাবে #, যা আমাদের প্রথম অতীত চরিত্র 1 এবং একটি বহুভুজ তৈরি করা প্রয়োজন খোলার।

জিন আসলে তিনটি কমেন্ট সিনট্যাক্স অপশন রয়েছে, অন্য দুটি সত্তা coএবং commentউভয়ই সাহসীভাবে লেখা হিসাবে নির্দিষ্ট করা হয়েছে। হ্যাঁ, সাহসী। যদি আমরা তির্যক ব্যবহার করি, তবে এটি একটি পরিবর্তনশীল। জিনি সমস্ত ক্যাপগুলিতে গা bold় বানান করে আমাদের জন্য এটি আবার সমাধান করে। এবং যেহেতু COবহুগোষ্ঠীতে কোথাও নেই, তাই আমরা পার্সার থেকে বহুগ্লোটটি লুকানোর একটি সহজ পদ্ধতি পেয়েছি। যদি COকোনও ভাষার জন্য রাস্তাটি প্রয়োজন হয় তবে আমরা আরও ভার্বোজ COMMENTসিনট্যাক্সে যেতে পারি।

ALGOL এ কোনও লাইন মন্তব্য নেই - এগুলি সমস্ত ব্লক শৈলী, যার অর্থ তাদের শেষ করা দরকার। বহুবৃত্তের প্রাথমিক অবস্থার প্রেক্ষিতে, আমাদের ALGOL ব্লক মন্তব্যটি তাত্ক্ষণিকভাবে খোলা হবে এবং লাইন 1 এর শেষের দিকে সমাপ্ত হবে কারণ টার্টল্ড একইভাবে #লাফ টোকেন হিসাবে ব্যবহার করছে is টার্টল্ড ভাগ্যক্রমে Cএবং Oঅক্ষরগুলির মধ্য দিয়ে হাঁটাতে সমস্যা হয় না তাই লাইন 1 এ আমরা ALGOL68 এর জন্য একটি ফ্যাট ব্লক মন্তব্য শুরু করার COজন্য দ্বিতীয়টির পরে অবিলম্বে #sertোকাতে পারি।

এখান থেকে আমাদের COprint("65")কোথাও কোথাও রাখতে হবে। আমি শেষ লাইনটি বেছে নিয়েছিলাম কারণ আমি অন্য একটি #মন্তব্য দিয়ে লাইনটি শেষ করতে পছন্দ করেছি এবং আমি চাই না #যে শেষ লাইনের শুরুতে মন্তব্যটি শেষ করা উচিত। সুতরাং আমরা আমাদের কম্পিউটারে কাজ করার একটি ভাষা মুদ্রণ বিবৃতি অনুসরণ করা #sহবে এবং একটি #বহুভাষিক গত চরিত্র হিসেবে। sমধ্যে #salphuck আউট সামঞ্জস্য বজায় রাখা হয় pমুদ্রণ।

৫৯ টি উত্তর দিয়ে বহুগ্লোটের শেষটি খোলার জন্য এবং এগুলি সম্ভব করে দেওয়ার জন্য @ আইজ ৫২৩ ধন্যবাদ।

SMBF

ALGOL এর চূড়ান্ত মন্তব্যটি শেষ করতে আমরা বহুগ্লোটের শেষে একটি আলাদা চরিত্র যুক্ত করেছি এবং এসএমবিএফ এর উত্তরের জন্য শেষ অক্ষরটি আগে পড়ছিল। এই সমস্যার সমাধানের জন্য, আমি SMBF পরিবর্তন করতে লাইন 8 এই কোড পরিবর্তন করে শেষ অক্ষর দ্বিতীয় পড়তে ছিল [.>-]এই [<.>>-]। এটি একটি এসএমবিএফ প্রাইভেট কোড ব্লক, যেহেতু লুপটি শুরু করা হয় যখন বিএফের এমপি 0 তে থাকে।

ট্রিগার

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

Ident ঘটনার লাফের গন্তব্য: ^_^_

Ig ট্রিগার এর ঝাঁপ গন্তব্য প্লাস উত্তর: X222999

• ALGOL68 এর উত্তর: COprint("65")#s

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

এসএমবিএফ দিয়ে হেঁটে যাওয়ার পরে আমি দেখতে পেলাম যে শেষ পর্যন্ত ^ _ ^ _ থাকার সমস্যাটি ওয়াইসের কারণে। বুদ্ধিমানের কোড ( ~-<~-<~-<<<~-) বেশিরভাগ বহুগ্লকের চেয়ে আলাদা, কার্যকর না করার জন্য একটি লুপের আড়ালে লুকানো থাকে না। তবে ওয়াইসের কোডের সাথে কোনও এসএমবিএফ প্রিন্ট কোড নেই। এটি কেবল মেমরির মানগুলি পরিবর্তন করছিল। নিরীহ মনে হয়েছিল। তাহলে সমস্যা তখন কী ছিল? এটি ছিল বিএফের সামনে ডার্ন এসএম।

ওয়াইজের কোডটি কার্যকর করা হতে চলেছে কোডের অক্ষরগুলিকে পরিবর্তন করছে এবং আপনি কি অনুমান করতে পারেন যে আসকি মান প্রতিবেশী ^কী? এটা ]। ওয়াইস বহুবৃত্তের শেষে একটি এসএমবিএফ লুপ টার্মিনেটর রাখছিলেন, যার ফলে এসএমবিএফ অসীম লুপে পড়েছিল। এটা খারাপ মোজো।

কিছু চিন্তা করার পর আমি সমস্যা 0 বাইট সমাধান নিয়ে যায় এবং ট্রিগার এর লাফ গন্তব্য (পৃথকীকৃত X(তার উত্তর থেকে) 222999) এবং বহুভাষিক thusly শেষ হয়েছে: ~-<~-<~-<<<~-XCOprint("65")#s^_^_2229996#। এটি কেবলমাত্র কাজ করে কারণ কোনও চরিত্র ক্রমাগত ট্রিগারের জাম্প অনুসরণ করে হাজির হয় না যা ট্রিগার এর উত্তর নয়।

মোড়ক উম্মচন

এই গোলটি সমস্ত বড় পরিবর্তন। আমি প্রথম cলাইনে আলোচিত অনেকগুলি কাটাতে একটি ছোটখাটো পরিবর্তন করেছি , তবে এটি কেবল গল্ফ পরিবর্তনগুলির জন্য।

শুভকামনা!

ঘটনা রিপোর্ট

#<q>"3"O.sপরিবর্তে #<T>"3"O.sডিটোকেনাইজিং ভারসাম্য অর্জনে আরও দক্ষ ছিল বলে হয়ে উঠেছেTq

<>{<>{ndডিটোকেনাইজ হয়ে গেল ndএবং{␊

আরও সস্তাভাবে আলাদা করে ফেলার জন্য }}এবং এর +মধ্যে একটি জায়গা রাখুন ।#<]}} +<[<.>>-]>[}}+


25

২. ভি (১১ বাইট)

print(1)#i2

এই প্রোগ্রামটি কপি করে প্রিন্ট 1 পাইথন 3, এবং 2 ভি মধ্যে

কেবল বলটি ঘূর্ণায়মান হয়ে উঠতে এবং আমার প্রিয় ভাষাকে মিশ্রণে তাড়াতাড়ি ছড়িয়ে দেওয়া। :)

এটি একটি খুব সহজ উত্তর।

print(1)#

ঠিক তেমনই ভি-তে একটি এনওপি হতে পারে (আমার জন্য ভাগ্যবান) তারপরে i2সন্নিবেশ মোডে প্রবেশ করে একটি '2' প্রবেশ করান। আপনি এখানে ভি ভি চেষ্টা করতে পারেন

অবশ্যই, অজগর মধ্যে

print(1)

প্রিন্ট '1', এবং

#i2

একটি মন্তব্য।


2
এটি কি ভি বা ভিম? আপনার সাথে সংযুক্ত দোভাষীটি প্রযুক্তিগতভাবে "ভি"।
mbomb007

@ mbomb007 ঠিক আছে, ভি প্রায় পুরোপুরি পিছনের দিকে সামঞ্জস্যপূর্ণ, তাই উদ্দেশ্যটি ছিল vim। আমি মনে করি এটি প্রযুক্তিগতভাবে ভি ভি হলেও। দেরি হয়ে গেছে কি বদলাতে?
ডিজেএমসিএমহেম

2
আসলেই নয়, উত্তরের শিরোনামটি সম্পাদনা করুন।
mbomb007

1
@ mbomb007 একটি আক্ষরিক ESC অক্ষর এটি করবে (এজন্য আমাকে আমার জমা দেওয়ার ক্ষেত্রে একটি ব্যবহার করতে হয়েছিল)।

1
এটি পরীক্ষা করে দেখার জন্য নোট: আপনার পূর্ববর্তী ভিম সেশন থেকে একটি ক্লিপবোর্ড বহন করে নেই তা নিশ্চিত করতে হবে।
9:14

24

20. প্রিলিওড, 167 বাইট

#v`16 "<" 6/b0\ .q@#;n4"14""
#>3N9@15o|R"12"*^*ttt*~++%
#=|
print((1/2and 9 or 13)-(0and+4)^1<<65>>62);#35(99999+++++!) =#;print(17)
#       ~nJ<
#
#gg99ddi2` |1|1+6

পূর্ববর্তী জমা হিসেবে একই জায়গায় আক্ষরিক চট্টগ্রাম সিটি কর্পোরেশন অক্ষর (মধ্যে #এবং gএবং তাদের মধ্যবর্তী 2এবং `গত লাইনে), কারণ আপনার তেজ মুদ্রণযোগ্য অক্ষর সন্নিবেশ মোড থেকে বের নিতে পারবেন না।

এই প্রোগ্রামটি ছাপে 20 প্রস্তাবনা মধ্যে , 19 Reng মধ্যে (testable এখানে ), 18 অঙ্কবাচক মধ্যে , 17 জুলিয়া মধ্যে , 16 Pyth মধ্যে , 15 খড়ের গাদা মধ্যে , 14 Turtlèd মধ্যে , 13 রুবি মধ্যে , 12 বিদারণ মধ্যে , 11 Befunge-98 এ , 10 Befunge-93 এ , 9 পার্ল মধ্যে , 8 অক্ষিপট মধ্যে , 7 Japt মধ্যে , 6 SMBF মধ্যে ,5 পাইথন 2 , 4 মধ্যে> <> , 3 Minkolang মধ্যে , 2 তেজ / ভী মধ্যে , 1 পাইথন 3 , এবংa partridgeমধ্যে একটি নাশপাতির গাছ

বিদ্যমান কোডটি প্রিলিডে নিজেকে বাতিল করে দেয়, কেবলমাত্র মিথ্যা যুক্তি এবং আমরা যে স্ট্যাকগুলিতে যত্ন করি না সেগুলিতে কিছু স্ট্যাক ম্যানিপুলেশন সহ লুপ থাকে। আরও ভাল, কোডে একটি স্পট রয়েছে যা সেগুলি থাকা সমস্ত ভাষায় একটি মন্তব্য ( পূর্ববর্তী জমা দেওয়ার #এবং =#এর মধ্যে)। এর প্রিলিওডের ফিটিংয়ের শক্ত অংশটি কেবল একটি স্ট্যাক সহ এবং বাইট গণনাটি ফুটিয়ে তোলা ছাড়াই সংখ্যা উত্পন্ন করছিল। এই প্রোগ্রামটি এমন একটি লুপ ব্যবহার করে যা প্রতিটি স্ট্যাক উপাদানগুলিতে 45 ​​যোগ করে এবং এটি ASCII হিসাবে আউটপুট করে, এভাবে স্ট্যাকের উপরে 3 এর উপরে 5 রেখে আমরা 20আউটপুট হিসাবে পাই । (ঝরঝরে, ২০ আউটপুট করার সহজ সংখ্যাটি প্রিলিডে ১৯ এর চেয়ে বেশি, সুতরাং ১৯ টি পোস্ট করা উত্তর আসলে আমাকে কিছুটা সহায়তা করেছিল))


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

ভাল, প্রিলিউড দিয়ে আমাকে ঘুষি মারুন :) আমি আসলে মনে করি ASCII-V কেবলমাত্র :%sপ্রতিস্থাপনের মাধ্যমে সম্ভব হতে পারে তবে তারপরেও এটি কিছুটা জটিল (এবং ভী টেস্টে বিরক্তিকর)
Sp3000

আপনি যদি :ভিএম-তে কোনও কমান্ড শুরু করতে একটি ব্যবহার করেন, আপনার একটি ক্যারেজ রিটার্ন দরকার হবে, যা অপ্রিনিতযোগ্যও হয়। : /
Zwei

4
a partridgeএকটি পিয়ার গাছের জন্য +10000000000 । কিন্তু এটি কি 5 GOLDরিংগুলিতে মুদ্রণ করে ?
ইমিবিস

23

30. হোয়াইটস্পেস , 296 বাইট

#v`16/"<"6/b.q@"(: ::T):  ␉␉␉␉ :(22)S#;n4"14"
#>3N6@15o|>␉^*ttt*~++~~~%
#=~nJ<R"12"; ␉
#[␉
#`<`|
print((eval("1\x2f2")and (9)or(13))-(0and 4)^(1)<<(65)>>62)or'(\{(\{})(\{\/+23!@}[()])}\{})(\{}\{})'#46(8+9+9+9+9+=!)=#print(17)#]#echo 21#|/=1/24=x=90/
#8␛dggi2␛␉` |1|6$//''25  #>say␉␉ 27#T222999"26

Lite আক্ষরিক পলায়ন প্রতিনিধিত্ব করে।

Lite আক্ষরিক ট্যাব প্রতিনিধিত্ব করে।

এই প্রোগ্রামটি ছাপে 30 হোয়াইটস্পেস মধ্যে , 29 ট্রিগার মধ্যে , 28 ব্রেন-বিমানবিধ্বংসী কামান মধ্যে , 27 পার্ল 6 , 26 05AB1E মধ্যে , 25 পিপ মধ্যে , 24 Thutu মধ্যে , 23 Hexagony মধ্যে , 22 Underload মধ্যে , 21 নিম মধ্যে , 20 প্রস্তাবনা মধ্যে , 19 Reng (পরীক্ষিত মধ্যে এখানে ), 18 অঙ্কবাচক মধ্যে , 17 জুলিয়া মধ্যে , 16 Pyth মধ্যে , 15 খড়ের গাদা মধ্যে , 14 Turtlèd মধ্যে , 13 রুবি মধ্যে , 12 বিদারণ মধ্যে , 11 Befunge-98 এ , 10 Befunge-93 এ , 9 পার্ল 5 , 8 অক্ষিপট মধ্যে , 7 Japt মধ্যে , 6 SMBF মধ্যে , 5 পাইথন 2 , 4 > <> এ , 3 Minkolang মধ্যে , 2 ভি / তেজ মধ্যে , এবং 1 পাইথন 3

সীমাবদ্ধ অক্ষর সেট সহ হোয়াইটস্পেস হ'ল আরেকটি এসোলাং। এটি কেবলমাত্র ট্যাব, স্পেস এবং লাইন ফিডগুলি পড়ে reads

সুতরাং একবার যখন আমরা হোয়াইটস্পেস না পড়ে এমন সমস্ত জিনিস বের করে নিই তবে আমাদের নীচের কোডটি রেখে দেওয়া হয়েছে:

[space][space][space][LF]
[space][LF]
[LF]
[LF]
[LF]
[space][space][space][space][space][LF]
[space][space][space][space]

এবং 30 আউটপুট কোডটি হল:

[space][space][space][tab][tab][tab][tab][space][LF]
[tab][LF]
[space][tab]

সুতরাং প্রয়োজনীয় কোডগুলি পূরণ করার জন্য বিদ্যমান কোডের শীর্ষ 3 টি লাইনগুলিকে লাইনের শেষে অতিরিক্ত স্থান দেওয়া হয়েছিল। নোট করুন যে লাইন 1 এর ট্যাবগুলি এবং পিছনের স্থানটি> <>> এর প্রয়োজনীয়তার জন্য লাইনের মাঝখানে রয়েছে।

লাইন 2 এর স্থানটি এখানে একটি ট্যাবে পরিবর্তন করা হয়েছিল। এটি 2D ভাষার জন্য একটি জায়গাতে সনাক্ত করতে কার্যকর হবে বলে মনে হয়, তবে দৃশ্যত এটি আর লাইন করে না। ¯ \: _ (ツ): _ / ¯

30 আউটপুট দেওয়ার নির্দেশনার পরে, গেমটি নির্বিকার কাজগুলি করতে এবং সঠিকভাবে সংকলনের জন্য প্রয়োজনীয় প্রয়োজনীয় স্থান এবং লাইন ফিডগুলি বাকী হয়ে উঠেছে।

হোয়াইট স্পেসে এমন কোনও নির্দেশাবলী রয়েছে যা কোনও লেবেলের সাথে একটি কোডের অবস্থান চিহ্নিত / গ্যাটো করে যা একটি স্বেচ্ছাসেবী সংখ্যক ট্যাব এবং খালি স্থানের অনুমতি দেয়, যাতে দীর্ঘ লাইনের স্পেসগুলি পালঙ্কে সহায়তা করে। এটি একটি লাইন ফিডের সাথে শুরু এবং শেষ হয়, যাতে আমাদের কয়েকটি লাইনে 3-6 লাইনে ফিড দেয়।

চূড়ান্ত লাইনে রেটিনা না ভেঙে লাইনফিড থাকতে পারে না, সুতরাং এর নির্দেশাবলী হ'ল কিছু স্বেচ্ছাচারিত গণিত এবং স্ট্যাক ম্যানিপুলেশন।

স্পেস, ট্যাব এবং লাইনফিড সহ পুরো কোডটি এখানে আমাদের স্বরলিপি দিয়ে প্রতিস্থাপন করা হয়েছে:

#v`16/"<"6/b.q@"(:[Space]::T):[Space][Space][Tab][Tab][Tab][Tab][Space]:(22)S#;n4"14"[LF]
#>3N6@15o|>[Tab]^*ttt*~++~~~%[LF]
#=~nJ<R"12";[Space][Tab][LF]
#[[Tab][LF]
#`<`|[LF]
print((eval("1\x2f2")and[Space](9)or(13))-(0and[Space]4)^(1)<<(65)>>62)or'(\{(\{})(\{\/+23!@}[()])}\{})(\{}\{})'#46(8+9+9+9+9+=!)=#print(17)#]#echo[Space]21#|/=1/24=x=90/[LF]
#8␛dggi2␛[Tab]`[Space]|1|6$//''25[Space][Space]#>say[Tab][Tab][Space]27#T222999"26[LF]

এবং এখানে কেবল হোয়াইটস্পেসের একটি মন্তব্য করা সংস্করণ:

Push 30 onto the stack
[space][space][space][tab][tab][tab][tab][space][LF]

Output the number at the top of the stack
[tab][LF][space][tab] 

Jump to label null if the top of the stack is negative. (it's not)
[LF][Tab][LF]

Label this location as [Space]
[LF][Space][Space][Space][LF]

Add the top two items on the stack and replace them with the result. 
[Tab][Space][Space][Space]

Store the stack.
[Tab][Tab][Space]

সম্পাদনাগুলি: হেক্সাগোনি আমার পূর্ববর্তী বক্তব্যের বিপরীতে ফাঁকা জায়গাগুলির মতো ট্যাবগুলিকে এড়িয়ে চলেছে। @ আইস ৫২৩ আক্ষরিক পলায়ন এবং ট্যাবগুলির জন্য অ্যাকাউন্ট করার জন্য @ কেনির হেক্সাগনাইজারকে আপডেট করার পক্ষে যথেষ্ট দয়াবান ছিলেন। ট্যাবগুলি নো-অপ্স হিসাবে পড়ার বিষয়ে আমার পূর্ববর্তী দাবিটি সংশোধন করতে এবং আক্ষরিক পলায়নগুলি প্রতিস্থাপনের জন্য আমাকে এটিকে সংশোধন করতে হয়েছিল .কারণ অক্ষরটি অন্য চরিত্রের চেয়ে আরও বিস্তৃত, হেক্সকে সামান্য বিভ্রান্ত করে তোলে। এখানে লিঙ্ক

এবং এটি আমাদের সংশোধিত বর্তমান হেক্স:

          # v 1 6 / " < " 6 /
         b . q @ " ( : : : T )
        : : ( 2 2 ) S # ; n 4 "
       1 4 " # > 3 N 6 @ 1 5 o |
      > ^ * t t t * ~ + + ~ ~ ~ %
     # = ~ n J < R " 1 2 " ; # [ #
    < | p r i n t ( ( e v a l ( " 1
   \ x 2 f 2 " ) a n d ( 9 ) o r ( 1
  3 ) ) - ( 0 a n d 4 ) ^ ( 1 ) < < (
 6 5 ) > > 6 2 ) o r ' ( \ { ( \ { } )
  ( \ { \ / + 2 3 ! @ } [ ( ) ] ) } \
   { } ) ( \ { } \ { } ) ' # 4 6 ( 8
    + 9 + 9 + 9 + 9 + = ! ) = # p r
     i n t ( 1 7 ) # ] # e c h o 2
      1 # | / = 1 / 2 4 = x = 9 0
       / # 8 . d g g i 2 . | 1 |
        6 $ / / ' ' 2 5 # > s a
         y 2 7 # T 2 2 2 9 9 9
          " 2 6 . . . . . . .

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

নিমের কোডটি আবার ফিরে echo 21এসেছেecho 5+5+11

হেক্সাগনির #@46এখন#46

হেক্সাগনির কোডটি আবার ফিরে /+23!@=এসেছে/+23!@

প্রিলিওডের প্যারেন্থিকাল অ্যালাইনমেন্ট (9) or (13)হয়ে গেল(9)and(13)

ঠিক আছে, আমি সব পেয়েছি। সৌভাগ্য সবার!


1
আমি মনে করি যে আমি সমস্ত লিঙ্কগুলি স্থির করেছি এবং আমার অনুলিপি পেস্টের ফলে স্থানের জায়গাগুলিতে যুক্ত করেছি। SE তে ট্যাবগুলি কীভাবে ট্যাব পেতে হবে তা নিশ্চিত নন, টিও-তে কোডটি বিচ্ছিন্ন করা উচিত। এই উত্তরের নির্দেশাবলী থেকে আমাকে আমার সমাধানটি পুনরায় তৈরি করতে হয়েছিল, তবে কোনওভাবে 2 টি কম বিট দিয়ে শেষ হয়েছে ... উফ?
চান্স

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

1
আপনার ষড়ভুজ বিশদ চিত্রটি ভুল ( প্রিন্টe23 ) কারণ ;ই পরে যখন প্রথম প্রতিবিম্বের পরে এনডাব্লুতে আসে। উপরের লিঙ্কটি কি কাজ করে ...?
মাইল্ডলি মিল্কিওয়েস্ট

1
আমি এই সিদ্ধান্তে পৌঁছেছি যে হেক্সাগনির জন্য টিআইও ট্যাব অক্ষরকে ফাঁকা স্থান / নিউলাইন হিসাবে বিবেচনা করে। হেক্সাগনি প্রোগ্রামের আপনি যে চিত্র সরবরাহ করেছেন তা যদি আপনি এটি অনুসরণ করেন তবে (বা এটি টিআইওতে রাখবেন, ট্যাবগুলি এর সাথে প্রতিস্থাপন করে .) বাইরে চলে যাওয়া ছাড়া আর কিছুই করবেন না । তবে, প্রশিক্ষণের .টি (প্রকৃত কোডের অংশ নয়) এবং সমস্ত except গুলি বাদ দিয়ে ছবিতে কোডটি টিআইও-তে অনুলিপি করুন । এটি 23 টি মুদ্রণ করে
হালকা মিল্কিওয়েস্ট

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

23

100. ব্রেইনবুল, 2953 বাইট

#16  "?63(o?23!*# #@"/*\DZZCv;'[af2.q]PkPPX)\('#CO"14"; */
#/*0|7//```"`  [>.>.])[-'][(>77*;,68*,@,1',;# l1011)(22)S\4n;iiipsddpsdoh coding:utf8ââââ(1P''53'S^'????!?!??!??!!!!???!?!??!!?!?!!!!!?!!!!?????!????????????????????!) (qx
#>â
# 36!@â`  e++++++::@ 
#~
#y
#`<`
#<<<#>>]}}+-[.+..]+-+<[<<.>>x>-]>[
#{
#x}
#2""/*\*
#=x<R+++++[D>+++++++q   L+++<-][pPLEASE,2<-#2FAC,2SUB#1<-#52FAC,2SUB#2<-#32FACREADOUT,2PLEASEGIVEUPFACs]>@@+.---@.>][
#x%+>+=ttt Z_*.
#D>xU/-<+++L
#R+.----\   \).>]4O6O@|
#[#[(?2?20l0v01k1kMoOMoOMoOMoO MOO0l0ix0jor0h0h1d111x0eU0y0yx0moO1d0y0e0e00m1d0i0fx0g0n0n11MoOMoOMoOMoOMoOMoOMoOMoOMoOMoOMoOMoOMoOmOoMOo0moo0n0tx0t0moO0f0t0gOOM0g0f0h0j0j0i0001k1x0vx0v0l111111^_0 )0\\
[  "]56p26q[puts 59][exit]" ,'\[999'];#/s\\/;print"24";exit}}__DATA__/
###x<$+@+-@@@@=>+<@@@=>+<?#d>+.--.<!\
'(wWWWwWWWWwvwWWwWWWwvwWWWw WWWWWWWWwWW/"78"oo@WWwWWWWWWWwWWWWWWWWwwwwvwWWWwWWWWwvwWWwWWWwvwWWwWWWwvwWWwWWWw              (([5]{})))â\';';print((eval("1\x2f 2")and 9or 13<< (65)>>65or 68)-(0and 4)^1<<(65)>>62)or"'x"or' {}{}{}{}({}<(((((()()())){}{})){}{})>)(({})5){}x{(x<(<()>)({})({}<{}>({}){})>){({}[()])}}({}){}({}()<()()()>)wWW no no no no no no no no no no no no no no no no no no no no no no no no no no no no no no os sp '#}#(prin 45)(bye)46(8+9+9+9+9+=!)((("3'3)))"'a'[[@*3*74[?]*]*(<*.*\>]xxxxxxxxxxxxx)'# \\
__DATA__=1#"'x"
#.;R"12"'
###;console.log 39;'(******* **********819+*+@[*99[?]*]***|!)'
#\\
""""#\
' ( <><        (          )>  ){ ({}[()]  )}{\';      a=$(printf \\x00    );b=${#a};#\\
" }"';           ((   ( (';case "{"$ar[1]"}"${b} in *1)echo 54;;*4)echo 78;; *1*)echo 50;;*)echo 58;;esac;exit;# (((('))))#\
=begin
#p             +555/2+55x%6E2x
;set print "-";print 89;exit#ss 9
utpb now 70 dollar off!
utpb has been selling out worldwide!
#9999 9 seeeemPaeueewuuweeeeeeeeeeCis:ajjappppppp😆😨😒😨💬95💬👥➡
👋🔢🌚🌝🌝🌚🌚🌚🌚🌚

set ! 57
set ! 51
More 91 of thiset of re9
How much is it*/
#if 0
.int 2298589328,898451655,12,178790,1018168591,84934449, 12597
#endif//*
#1"" //*
#include<stdio.h> 
#defineâ x(d)â#d
#define u8 "38\0 "
main ( ) {puts( sizeof (0,u8)-5?u8"67":*u8""?"37":     x( 0'0  "'\"")[9]?"75":'??-'&1? "79":"77");"eg5""6 27""e ' Zing  ";}//*/
#if 0
#endif//* --... ...--
/*/
p=sizeof("9( 999 99\"    ); print'(''72'')';end!"            );main( ){puts(  "92");return(9-9+9 -9);}
#if 0â
#endif//* rk:start | print: "69" rk:end<(9    >5b*:,1-,@
print 61
#}
disp 49 ;9;
#{
}{}<>
$'main'3
#-3o4o#$$$
#<T>"3"O.</+++++++>/+++<-\>+++.---.
#<<<#>>> /
reg end="";print(85);reg s#++++++++++++++++++++++++++++++++++++++++++++++++++++++++.-.
=end
;"""#"#xxxxxxxy"78"\++++>/<~#class P{        function:Main(a:String[] )~Nil{83->Print();} }
#}pS9^7^8^MUOUOF@:8:8\\
#s|)o51~nJ;#:p'34'3  \=#print(17)#>27.say#]# print(47) #]#echo 21#fwwwwwWWWwWWWWWwWWWWWWWwWWWWWWWWWwWWWWWWWWWWWWWWWwWWWWWWWWWWWWwvm>++++
#s8âdggi2âM`|$//''  1$6~-<~-<~-<<<~-COprint ("65")#asss^_^_#
#9 "25"  +/ *///X222999686#

ভিআইপি স্কোর ( ভার্সেটাইল ইন্টিজার প্রিন্টার ): .002953 (উন্নত করতে, পরবর্তী এন্ট্রি 3030 বাইটের বেশি হওয়া উচিত নয়)

ভগ্নস্বাস্থ্য শিঠ্ট

এই প্রোগ্রামটি কপি করে প্রিন্ট 1 পাইথন 3, মধ্যে 2 ভী ইন / তেজ, 3 Minkolang এ, 4 মধ্যে> <>, 5 পাইথন 2, মধ্যে 6 SMBF এ, 7 Japt এ, 8 অক্ষিপট এ, 9 পার্ল 5, মধ্যে 10 Befunge- মধ্যে 93, 11 Befunge-98, ইন 12 বিদারণ এ, 13 রুবি এ, 14 Turtlèd এ, 15 খড়ের গাদা মধ্যে, 16 Pyth এ, 17 জুলিয়া এ, 18 অঙ্কবাচক এ, 19 Reng এ, 20 প্রস্তাবনা এ, 21নিম, এ 22 Underload এ, 23 Hexagony এ, 24 Thutu এ, 25 পিপ এ, 26 05AB1E এ, 27 পার্ল 6 এ, 28 ব্রেন-বিমানবিধ্বংসী কামান এ, 29 ট্রিগার এ, 30 হোয়াইটস্পেস এ, 31 মডুলার SNUSP এ, 32 দ্রুত আবর্তন মধ্যে , 33 ঘটনায় মধ্যে 34 রেল এ, 35 INTERCAL এ, 36 গোলকধাঁধা মধ্যে, 37 সালে সি ++ 03, 38 C99 এ, 39 CoffeeScript এ, 40 সংক্ষিপ্ত-2D মধ্যে, 41 brainfuck এ, 42 মন্দ এ, 43 জালি এ, 44 alphuck এ, 45 PicoLisp এ, 46 Cubix এ, 47 লিলি এ, 48 Deadfish ~ মধ্যে 49 অক্টেভ এ, 50 ব্যাশ এ, 51 পরিষদ, 52 গরু, 53 ঠেলা এ, 54 Zsh মধ্যে 55 ব্রেন-বিমানবিধ্বংসী কামান ক্লাসিক এ, 56 ডিসির, 57 বিজ্ঞ এ, 58 ksh এ, 59 Tcl এ, 60 Moorhens এ, 61 সাইলো এ, 62 ঘাসের, 63ব্রায়ান & চাক, এ 64 নিদারুণ মানসিক যন্ত্রণার সঙ্গে, 65 কম্পিউটারে কাজ করার একটি ভাষা 68, ইন 66 সারফেস এ, 67 C11 এ, 68 পাইথন 1, মধ্যে 69 আর কে-ল্যাঙ এ, 70 বাণিজ্যিক এ, 71 কি, 72 ফোরট্রান এ, 73 মধ্যে Morse, 74 খিলানপথ মধ্যে 75 সি ++ 11-তে, 76 Trefunge-98 এ, 77 সি ++ 14, 78 ড্যাশ এ, 79 সি ++ 17, মধ্যে 80 ক্লেইন 201, এ 81 ক্লেইন 100, মধ্যে 82 ব্রেন-Flueue এ, ওবজেক-এ 8384 ক্লেইন ২001 সালে 85 zkl এ, 86 Miniflak এ, 87 এলিস এ, 88 PingPong এ, 89 gnuplot এ, 90 RunR এ, 91 Cood এ, 92 C89 এ, 93 সেটে, 94 Emotinomicon এ, 95 ইমোজি এ, 96 ইমোজি কোডারে, কিউবিকিতে 97 , আর্চও 2 তে 98 , 99 তে 99 । মস্তিষ্কে 100

প্রতিপাদন

এটি অনলাইন চেষ্টা করুন! টিআইও তে ভাষা উপলভ্য নয়:

ব্যাখ্যা

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

ব্রেণবুল কিছুক্ষণ আমার চোখে পড়েছে। তবে যেহেতু ব্রেনবুল কেবল দুটি সংখ্যার আউটপুট দিতে পারে, 1এবং 0আমি এখন অবধি এটি যুক্ত করতে পারিনি (আমি 10 এবং 11 এর কাছাকাছি ছিলাম না)।

Brainbool মোড়ানো 256 এ এটি 2. Brainbool এ গোপন একটি নেই পরিবর্তে ব্যতীত শুধু brainfuck মত হল -, কারণ এটি সাথে অপ্রয়োজনীয় +। আমাদের আউটপুট 100 তে ব্রেইনবুল কোড মোটামুটি সহজ:

+.+..

ব্রেনফাকের আউটপুটগুলি মাস্ক করার জন্য আমরা একটি লুপ এবং একটি বিয়োগ যুক্ত করব:

+-[.+..]

এখন যা দরকার তা হল কোডটি যাওয়ার জন্য একটি জায়গা খুঁজে পাওয়া। পছন্দের আমার জায়গায় প্রথম +লাইন 8. উপর brainfuck কোডের শীর্ষ স্তরে মধ্যে প্রতিস্থাপন করতে প্লাস আমরা আমাদের কোড এবং একটি যোগ +-+যা হিসাবে কাজ করে +brainfuck এবং brainbool একটি noop হবে।

+-[.+..]+-+

Cubix

আমি আমার কোডটি কিউবিক্স ক্যাপসুলের আগে রেখেছিলাম যার ফলে একটি আয়না পয়েন্টারের পথে চলে যায়। এটি ঠিক করার জন্য আমি ক্যাপসুলটিকে আপত্তিজনক আয়নার সামনে কয়েক ধাপ এগিয়ে নিয়ে এসেছি এবং সবকিছু ঠিক আছে।

আশ্চর্যজনকভাবে অন্য কিছু কিছুই কুখ্যাত ঘটনাও ভাঙ্গেনি।


আসলে, ব্রেইনবুল আরিবাট্রি পাঠ্য আউটপুট করতে পারে। আপনি যদি এটি তর্কটি পাস করেন তবে এটি -b1s এবং 0 গুলি বাইটে তৈরি করবে এবং তারপরে অক্ষর হিসাবে আউটপুট করবে।
পাভেল

1
@ ওয়েট উইজার্ড আমি নিশ্চিত করি যে এটি আর্চওয়ে 2 তে কাজ করে।
stasoid

1
অভিনন্দন! আমি লক্ষ্য করেছি ভিআইপি স্কোর ঠিক 0.003 এর নিচে নেমে গেছে।
janর্জন জোহানসেন

1
আমাকে স্বীকার করতে হবে, ফিরে যখন আপনি প্রাথমিকভাবে এটি ১০০/১০১১ যোগ করার বিষয়ে পোস্ট করেছিলেন, আমি আসলে ভাবিনি যে আমরা এখানে পৌঁছে যাব। এটি বেশ ডাং শীতল।
স্নোরিংফ্রাগ

1
@ স্ট্যাসয়েড আমি টিআইও-তে আর্চওয়ে পাওয়ার জন্য কাজ করছি, শুধু এফওয়াইআই I
এমডি এক্সএফ

21

27. পার্ল 6 , 235 বাইট

#v`16/"<"6/b.q@"(::):::  (22)S#;n4"14"
#>3N6@15o|> ^*ttt*~++~~~%
#=~nJ<R"12";
#[
#`<`|
print((eval("1\x2f2")and 9 or 13)-(0and 4)^1<<65>>62)#@46(8+9+9+9+9+=!)=#print(17)#3]#echo 21#===2|/=1/24=x=90/
#8␛dggi2␛` |1|6$//''25  #>say 27#"26

Usual যথারীতি আক্ষরিক ESC চরিত্রের প্রতিনিধিত্ব করে।

এই প্রোগ্রামটি ছাপে 27 পার্ল 6 , 26 05AB1E মধ্যে , 25 পিপ মধ্যে , 24 Thutu মধ্যে , 23 Hexagony মধ্যে , 22 Underload মধ্যে , 21 নিম মধ্যে , 20 প্রস্তাবনা মধ্যে , 19 Reng (পরীক্ষিত মধ্যে এখানে ), 18 অঙ্কবাচক মধ্যে , 17 মধ্যে জুলিয়া , 16 Pyth মধ্যে , 15 খড়ের গাদা মধ্যে , 14 Turtlèd মধ্যে , 13 রুবি মধ্যে ,12 বিদারণ মধ্যে , 11 Befunge-98 এ , 10 Befunge-93 এ , 9 পার্ল 5 , 8 অক্ষিপট মধ্যে , 7 Japt মধ্যে , 6 SMBF মধ্যে , 5 পাইথন 2 , 4 > <> এ , 3 Minkolang মধ্যে , 2 মধ্যে পাইথন 3 এ ভিম / ভি , 1a partridge এবং এ পিয়ার ট্রি তে(এটি ক্রিসমাস হিসাবে)।

স্ট্যাক এক্সচেঞ্জ এই উত্তরের জন্য যে সিনট্যাক্স হাইলাইট করে তা সম্পূর্ণ ভুল। #`<পার্ল 6 এর বহু মাল্টলাইন মন্তব্য চিহ্নিতকারীগুলির মধ্যে একটি, এবং এখানে শেষ হয় #>, সুতরাং পার্ল 6-এ কেবলমাত্র একমাত্র কোডটি চালানো খুব সহজ say 27। আমি এই বিশেষ মন্তব্য চিহ্নিতকারীটিকে বেছে নিয়েছি কারণ <>বেশিরভাগ ভাষায় কোনও মিলের জুটি হয় না, এবং এইভাবে মেলে <না এমন রেটিনা জাতীয় ভাষাগুলি ভাঙ্গবে না যে এটি বিশ্লেষণের প্রয়াস।

আমি কীভাবে হেক্সাগনি আর কাজ করে তা পুরোপুরি নিশ্চিত নই। যখন এটি ভেঙে আমি অক্ষর এটি একটি থেকে ব্যবহার করছিলেন এক পরিবর্তিত +একটি থেকে 0যদি এটি আঘাত করা হয়েছিল দেখতে; এটি ছিল, এবং এটি প্রোগ্রামটি স্থির করেছে, তবে কেন তা নিশ্চিত নয় (কেন জানি ( #মৃত্যুদন্ড কার্যকর করার লাইনে এটি ভেঙেছিল তবে এটি কেন অস্পষ্ট হয়েছে তা স্থির নয় +)) I'm (প্রশ্নের মধ্যে থাকা চরিত্রটিও থুতু বিশ্লেষণ করেছেন, তবে ভাগ্যক্রমে থুতু প্রোগ্রামের কার্যকারিতাটিতে কোনও পার্থক্য আসে না, যেমন প্রোগ্রামের সেই মুহুর্তে, যেটি পূর্ববর্তী নয় =সেগুলি কার্যক্ষেত্রে অনুলিপি করে অনুলিপি করা হয়) স্ট্রিং।) নোট করুন যে 0and+4একটি পূর্ববর্তী লাইনটি হয়ে গেছে0and 4, এটি হেক্সাগনির দৃষ্টিকোণ থেকে একটি চরিত্রকে ছোট করার জন্য (হেক্সাগনি স্পেস দেখতে পাচ্ছে না); এটি #|পূর্ববর্তী লাইনের হয়ে যাওয়ার জন্য ক্ষতিপূরণ দেওয়ার জন্য #`<`|, যা হেক্সাগনির দৃষ্টিকোণ থেকে এক অক্ষর দীর্ঘ (কারণ এটি ব্যাককোটগুলিও দেখতে পায় না)। নোট করুন যে কোডটি এখন হেক্সাগনির পাশের দৈর্ঘ্য প্রসারণ এবং বর্তমান হেক্সাগনি কোড সম্পর্কে সমস্ত কিছু ভাঙার থেকে কেবল পাঁচ বাইট দূরে। আমি যাইহোক এটি করার এবং কোডের হেক্সাগনি বিভাগটি পুনরায় করার পরামর্শ দেব; এটি একটি প্রসারণের পরে সমস্ত কিছু ফিট করার জন্য সম্ভবত আরও শক্ত হওয়া সহজ be

কিছু অন্যান্য ভাষাও বদলেছে, বেশিরভাগ পর্যাপ্ত দৃust়তা যোগ করার জন্য আমি শেষ লাইনে স্বেচ্ছাসেবীর কোডটি ফিট করতে পারি। $//জাপটে একটি মন্তব্য চিহ্নিতকারী যা পরে লাইনে ফাঁকির সুযোগ দেয়, যুক্ত প্রোগ্রামকে জাপটে কম ভঙ্গুর করে তোলে (ইতিমধ্যে //লাইনে পরে কোনও বন্ধনী বন্ধনী থাকলে বিরতি হয়, এবং স্থানটি জাপটে এক ধরণের বন্ধনী বন্ধনী হয়)। এক জোড়া স্পেস হ'ল পিপ-এর একটি মন্তব্য চিহ্নিতকারী, যার অর্থ পিপ কোডটি এখানে যথেষ্ট পরিমাণে সরল করা যায়। এর অর্থ হ'ল আমরা 05AB1E কে তুচ্ছ করে সরল করতে পারি "26। জিনিসপত্রের সাথে মিলনের ক্ষেত্রে (লম্বা পিছনের) জন্য আইনী রেজেক্স হওয়ার জন্য রেটিনার পঞ্চম লাইন দরকার|এইভাবে রেটিনার জন্য); এটি পূর্ববর্তী এন্ট্রিতে সম্পর্কিত লাইন থেকে পৃথকভাবে পার্স করে তবে এমনভাবে যে উপযুক্ত suitable কার্ডিনালালটি পূর্ববর্তী এন্ট্রিগুলির তুলনায় খুব সামান্য সরল, তবে কীভাবে সমস্ত কিছু উল্লম্বভাবে লাইন করে চলেছে এটির সাথে খাঁটি কাকতালীয় ঘটনা এবং কোনও পরিবর্তন হয়নি এমন পরিবর্তন কোডটিতে।

ধরে নেওয়া যাক আপনি Hexagony পুনরায় করুন (আপনি সম্ভবত করতে হবে), নিরাপদ স্থানে গত তিন লাইনের সব কোড যোগ করতে আছে: 3মধ্যে #3]#শুধুমাত্র Hexagony জন্য (এবং সহজে পরিবর্তন করা হয়েছে); মধ্যে স্থান #এবং "চূড়ান্ত লাইনে ভাষায় বেশীরভাগ দ্বারা উপেক্ষিত হয়; এবং রেটিনা ব্যতীত অন্য কোনও পঞ্চম লাইনের শেষটি সত্যিই বিশ্লেষণ করছে না। (এখানে প্রচুর অন্যান্য জায়গা রয়েছে যেখানে কোড যুক্ত করা যায়, তবে এগুলি সম্ভবত সবচেয়ে সুবিধাজনক)


1
আমি দুর্ঘটনাক্রমে এই উত্তরটিকে নিম্নরূপে ফেলেছি এবং লক্ষ্য করেছি যে আমার প্রতিলিপিটি 1 টি নিচে নেমে গেছে তখন আমি কী উত্তরটি সম্পাদন করতে পারি যাতে আমি উর্ধ্বতন করতে পারি? : ডি
Betseg

4
@ বিটসেগ: আমি কেবল আপনার জন্য হেক্সাগোনি সম্পর্কে আরও কিছুটা আলোচনা যোগ করেছি।

2
অনুগ্রহে অভিনন্দন! আমি এই পোস্টটি আবার চলতে চেয়েছিলাম: পি
ফ্লিপট্যাক

আমি যুগ যুগ ধরে এটি চালিয়ে যাওয়ার পরিকল্পনা করছিলাম, সময়টি সন্ধান করার চেষ্টা করার বিষয় এটি ছিল। (আমি আসলে কিছুক্ষণ আগে শৃঙ্খলে

21

31. মডুলার এসএনইউএসপি , 326 বাইট

কার্যক্রম

#v`16/"<"6/b.q@"(: ::T):  ␉␉␉␉ :(22)S#;n4"14"
#>3N6@15o|>␉^*ttt*~++~~~%
#=~nJ<R"12"; ␉
#[␉
#`<`|
print((eval("1\x2f2")and (9)or(13))-(0and 4)^(1)<<(65)>>62)or'(\{(\{})(\{}[()])}\{})(\{}\{})'#46(8+9+9+9+9+=!)=#print(17)#]#echo 21#|/=1/24=x=9[<$+@+-@@@@=>+<@@@=>+<?#>+.--.]/
#8␛dggi2␛␉` |1|6$//''25  #>say␉␉ 27#T222999+/+23!@"26

যথারীতি, একটি আক্ষরিক ESC অক্ষর এবং একটি আক্ষরিক ট্যাব।

ভগ্নস্বাস্থ্য শিঠ্ট

এই প্রোগ্রামটি ছাপে 31 মডুলার SNUSP মধ্যে 30 হোয়াইটস্পেস এ, 29 ট্রিগার এ, 28 ব্রেন-বিমানবিধ্বংসী কামান এ, 27 পার্ল 6, মধ্যে 26 05AB1E এ, 25 পিপ এ, 24 Thutu এ, 23 Hexagony এ, 22 Underload এ, 21 নিম মধ্যে , 20 প্রস্তাবনা এ, 19 Reng মধ্যে 18 অঙ্কবাচক এ, 17 জুলিয়া এ, 16 Pyth এ, 15 খড়ের গাদা মধ্যে, 14 Turtlèd এ, 13 রুবি এ, 12 বিদারণ এ,11 Befunge-98, ইন 10 Befunge-93, ইন 9 পার্ল 5, 8 অক্ষিপট এ, 7 Japt এ, 6 SMBF এ, 5 পাইথন 2, মধ্যে 4 > <> এ, 3 Minkolang এ, 2 ভী ইন / তেজ, এবং পাইথন 3 এ 1

প্রতিপাদন

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

অনলাইনে তাদের চেষ্টা করুন!

লিঙ্কটি উপরে বর্ণিত / -ফরমেটেড কোড ব্লকও উত্পন্ন করে এবং কোডটি একটি ষড়ভুজের মধ্যে ফর্ম্যাট করে:

          # v 1 6 / " < " 6 / b
         . q @ " ( : : : T ) : :
        ( 2 2 ) S # ; n 4 " 1 4 "
       # > 3 N 6 @ 1 5 o | > ^ * t
      t t * ~ + + ~ ~ ~ % # = ~ n J
     < R " 1 2 " ; # [ # < | p r i n
    t ( ( e v a l ( " 1 \ x 2 f 2 " )
   a n d ( 9 ) o r ( 1 3 ) ) - ( 0 a n
  d 4 ) ^ ( 1 ) < < ( 6 5 ) > > 6 2 ) o
 r ' ( \ { ( \ { } ) ( \ { } [ ( ) ] ) }
\ { } ) ( \ { } \ { } ) ' # 4 6 ( 8 + 9 +
 9 + 9 + 9 + = ! ) = # p r i n t ( 1 7 )
  # ] # e c h o 2 1 # | / = 1 / 2 4 = x
   = 9 [ < $ + @ + - @ @ @ @ = > + < @
    @ @ = > + < ? # > + . - - . ] / #
     8 . d g g i 2 . | 1 | 6 $ / / '
      ' 2 5 # > s a y 2 7 # T 2 2 2
       9 9 9 + / + 2 3 ! @ " 2 6 .
        . . . . . . . . . . . . .
         . . . . . . . . . . . .
          . . . . . . . . . . .

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

  • আপনি এখানে টিআইওতে ভি / ভিমে প্রোগ্রামটি পরীক্ষা করতে পারেন (উদ্দেশ্যে আউটপুট: 2) ।
  • আছে: একটি অনলাইন Reng ব্যাখ্যাকারী (19 অভিপ্রেত আউটপুট) এর এখানে
  • আছে: একটি অনলাইন মডুলার SNUSP ব্যাখ্যাকারী (31 অভিপ্রেত আউটপুট) এর এখানে । (এটি কেবলমাত্র একটি এসএনইউএসপি দোভাষী হিসাবে বিজ্ঞাপন দেওয়া হয়েছে, তবে মডিউলার এসএনইউএসপি হ'ল ডায়ালেক্ট যা এটি বাস্তবে প্রয়োগ করে, @পুরো পৃষ্ঠায় লক্ষণগুলি দেখে )

তিনটিই উদ্দেশ্যে আউটপুট উত্পাদন করে, তাই সমস্ত 31 টি প্রোগ্রাম সঠিকভাবে পরীক্ষা করা হয়। (একটি বিষয় যা আমাকে কিছুটা চিন্তিত করে তা হ'ল হোয়াইটস্পেস প্রোগ্রামটি সঠিকভাবে শেষ হচ্ছে কিনা; তবে, এখানে সাদা অংশটি পূর্ববর্তী জমা দেওয়ার মতোই, তাই তারা উভয়ই সঠিক বা উভয়ই ভুল। যদি দেখা যায় যে প্রোগ্রামটি সত্যিই বন্ধ হয়ে যাচ্ছে) ভুলভাবে, উভয় প্রোগ্রামই একইভাবে সংশোধনযোগ্য হতে পারে))

ব্যাখ্যা

প্রথমে, হেক্সাগনি, যা সর্বদা পরিবর্তনের প্রয়োজন বলে মনে হয়। এটি আসলে আগের চেয়ে অনেক সহজ; আমি হেক্সাগনি কোডটি ঠিক ট্রিগার কোডের পরে সরিয়ে নিয়েছি, যার অর্থ এটি প্রোগ্রামের শেষের খুব কাছে, এবং হেক্সাগনির "ক্যাপসুল" যা ২৩ টি প্রিন্ট করে এবং প্রস্থান করে প্রায় অবিলম্বে চলতে পারে। শেষ লাইনটি সাধারণত ক্যাপসুলটি রাখার জন্য ভাল জায়গার মতো দেখায়, কারণ এর অর্থ হ'ল কম্যান্ডগুলি সম্ভবত হ্যাক্সাগনিতে ব্যহত হতে পারে run

অন্যান্য সমস্ত পরিবর্তনগুলি মডিউলার এসএনইউএসপি কোড সংযোজন সহ করতে হবে। প্রথমে লক্ষ্য করার বিষয়টি হল যে এসএনইউএসপি $প্রোগ্রামের প্রথম চরিত্রটিতে সঞ্চালন শুরু করে এবং এটি একটি 2 ডি ল্যাঙ্গেজ যা প্রোগ্রামের প্রান্তটি বন্ধ করার পরে প্রস্থান করে এবং এভাবে দীর্ঘ লাইনের শেষে এসএনএনএসপি প্রোগ্রাম রেখে (ভিতরে ভিতরে) থুতু কোড, এমন এক পর্যায়ে যেখানে থুতু প্রায় কোনও কিছু গ্রহণ করবে), আমরা নিশ্চিত করতে পারি যে এসএনইউএসপি অন্য ভাষা থেকে কোনও কোড দেখতে পাবে না এবং বেশিরভাগ অন্যান্য ভাষা এসএনইউএসপি সম্পর্কে চিন্তা করবে না। এক ভাষা যে করেনি যত্ন পার্ল 6, যা কোণ বন্ধনী পার্স করা হয় ছিল; আমি <এটিকে খুশি রাখতে এসএনইউএসপি কোডের সাথে সাথে একটি তাত্ক্ষণিক রেখেছি (যেহেতু বন্ধনী প্রাকৃতিকভাবে প্রায় মিলছে)। অন্য ভাষা যা যত্ন করে তা হ'ল এসএমবিএফ;.এসএমবিএফ এবং এসএনইউএসপি উভয়ই আউটপুট, এবং আমরা অতিরিক্ত আউটপুট তৈরি করতে চাই না। ভাগ্যক্রমে, এসএমবিএফ দ্বারা দেখা হিসাবে, এই প্রোগ্রামটি <.>>[…]এসএনইউএসপি কোড অনুসরণ করে, যেমন বর্তমান টেপ উপাদান 0 হয়। সুতরাং এসএনইউএসপি কোডটি বর্গাকার বন্ধনীতে সংযুক্ত করে এসএমবিএফের দৃষ্টিকোণ থেকে "মন্তব্য করে"।

কোড নিজেই, এটি মডিউলার এসএনইউএসপিতে স্থির লেখার জন্য একটি সুপরিচিত কৌশল ব্যবহার করে যেখানে আপনি প্রচুর "প্রারম্ভিক প্রক্রিয়া" কমান্ডগুলি একটি সারিতে লিখেন এবং কার্যকরভাবে একটি ফাইবোনাচি নম্বরটি তৈরি করেন। মূল ধারণাটি +1 নম্বর এনকোড করে; @এর পরে কোড দ্বারা প্রতিনিধিত্ব করা সংখ্যা এবং সংখ্যার সংখ্যার পরে এটি তার প্রথম অক্ষর বিয়োগের পরে যুক্ত করে; এবং =এটি কোনও অপ-অফ (সুতরাং @=এটির সংখ্যাটি তার ডানদিকে দ্বিগুণ করবে)। এই সিস্টেমে আমি @@@@=+@@@=+#48 নম্বরের উপস্থাপনা হিসাবে বেছে নিয়েছি ।

যদিও এখানে একটি সমস্যা আছে; এসএনইউএসপিতে স্থির লেখার স্ট্যান্ডার্ড পদ্ধতিটি প্রোগ্রামটি শুরুর পিছনে নিয়ন্ত্রণ প্রবাহকে ছেড়ে দেয় এবং অনলাইনার সহ (যা আমি স্পষ্ট কারণেই এখানে লিখতে চেয়েছিলাম), আইপিটিকে কোনও দিকে নির্দেশ করা যায় না তবে ডানদিকে change এর অর্থ আমরা কোনওভাবেই পুরো ধ্রুবক সংজ্ঞাটি পাস করার জন্য আইপিটি পেতে এবং প্রোগ্রামটি না বেরিয়েই ডানদিকে চালিয়ে যাব (যা #সাধারণত ঘটবে)। এটি সমাধান করার জন্য, আমি সতর্কতার সাথে সংখ্যার একটি সংজ্ঞা ব্যবহার করেছি যার +জন্য সর্বদা আগে ছিল =। এর মানে হল যে আমি দ্বিতীয় সেলটি 48 এর মাধ্যমে সেট করতে কোড লিখতে পারি @@@@=>+<@@@=>+<#, এই জ্ঞানে নিরাপদ যে কোনও >আদেশই এড়িয়ে যাবেনা@কমান্ড (এবং এইভাবে আমরা টেপ পয়েন্টার নিয়ন্ত্রণ রাখি)। অতিরিক্তভাবে, আমরা জানি যে ফাইনালে #, প্রথম টেপ সেলটির এখনও তার প্রাথমিক মান থাকবে। সুতরাং, পদ্ধতির সংজ্ঞা থেকে ফিরে আসতে হবে বা ডান দিকে যেতে হবে কিনা তা জানতে আমরা প্রথম টেপ সেলটি চিহ্নিতকারী হিসাবে ব্যবহার করতে পারি (এটি করার সময় আমরা এক টন পদ্ধতির অভ্যন্তরে রয়েছি, তবে আমরা প্রোগ্রামটি বন্ধ করেই প্রস্থান করি প্রান্ত যাতে এটি কোন ব্যাপার না)।

চূড়ান্ত এসএনইউএসপি কোড, সুতরাং, হয় $+@+-@@@@=>+<@@@=>+<?#>+.--.$চিহ্ন প্রোগ্রাম শুরু। +@+-প্রথম টেপ উপাদানটি 1 এ সেট করে ( ++-তবে একবার প্রক্রিয়াটি @রিটার্ন দিয়ে শুরু হওয়ার -পরে, কোডটি সামনে থেকে চালানো শুরু করবে , সুতরাং টেপ উপাদানটি 0 এ ফিরে আসবে ?#তবে প্রথম টেপ উপাদানটি অ্যানজারো হলে প্রক্রিয়াটি শেষ হয় কেবল এইভাবে; আমরা শেষ অবধি #দ্বিতীয় টেপ উপাদানটি 50 এ স্থির হয়ে গিয়েছিলাম (ধ্রুবক সংজ্ঞা থেকে 48 টি, এবং >+<ডানদিকে যাওয়ার পরে দু'জনের মুখোমুখি 2 ) তারপরে আমাদের যা করতে হবে তা হল >+.--.এসকিআইআই কোড 51 ( 3) এবং আউটপুট 49 ( 1), এবং প্রোগ্রামের প্রান্ত থেকে পড়ে যান ( ]এসএনইউএসপি-র একটি কোনও বিকল্প নয়, এবং /নিয়ন্ত্রণ প্রবাহটি উল্লম্বভাবে প্রতিফলিত করে যাতে এটি প্রোগ্রামের শীর্ষ প্রান্তটি বন্ধ হয়ে যায়); এই বিটটি ব্রেনফাকের জন্য অভিন্ন কাজ করে।


20

১১. বেফুঞ্জ ৯৮ , ১০২ বাইট

#v;2^0;7||"<+0+0+0+<;n4
#v0#_q@
#>3N.
#|\w*
#8  ^1b0<
#|
#M`
print(None and 9or 1/2and 1or 5)
#jd5ki2

ছাপে:

পুরোপুরি সত্যি বলতে, আমার ভিড় কোড কেন আউটপুট দিতে 1 মিনিট সময় নেয় তা সম্পর্কে আমার কোনও ধারণা নেই। এছাড়াও, রেটিনা কীভাবে কাজ করে সে সম্পর্কে কোনও ক্লু নেই।

ব্যাখ্যা:

#v          Skips the v, which would send the IP down
  ;         Unlike '93, where ; is a no-op, '98 skips to the next ;
            and doesn't execute anything in between
   2^0;     Not executed, unlike Befunge 93
       7|   Pushes 7 onto the stack, and then sends the IP up, because 7 is not 0
n0b1        n clears the stack, and #s are pushed until the stack is [0, 11, 1
    *.      multiplies the top 2 values of the stack to give 11, and prints it (yay!)
      _     Sends the IP right, because the top value of the stack is 0
       q    Ends the program (no-op for '93, which continues to @)

বিষয়গুলি নোট করুন:

  • 0পাশেb কোডের বর্তমান অবস্থায় কঠোরভাবে প্রয়োজনীয় নয়, এবং স্ট্যাকের সাফ করা হয়েছে। এটি প্রয়োজনে অপসারণ করা যেতে পারে, তবে সম্ভাব্য ভবিষ্যতের প্রোগ্রামের অংশ হিসাবে আগে থেকেই অন্যান্য স্ট্যাক ম্যানিপুলেশনের অনুমতি দেয়।
  • _q@(এটা এটা ছাড়া কাজ করে না, আমাকে জিজ্ঞাসা করবেন না কেন) অক্ষিপট অংশ হিসেবে নেই। সংযোজন qএছাড়াও '98 কোড এ চালাতে দেয়t অপারেশন যা আইপি বিভক্ত হয় (রেটিনা প্রোগ্রামটি প্রিন্ট 7 এর পরিবর্তে 8 তৈরি করে)
  • _একটি সহজ নয় >কারণ যে জগাখিচুড়ি SMBF অংশ would।

সম্পাদনা: ঠিক বুঝতে পেরেছি যে _q@সম্ভবত হওয়া উচিত@00 ভবিষ্যতে প্রোগ্রামটি আরও নমনীয় করে তুলতে (যেখানে 0s- যে কোনও চরিত্র হতে পারে)। আমি এখনই সমস্ত লিঙ্ক পরিবর্তন করতে খুব অলস (এবং ক্লান্ত)) অবশেষে এটি কাছাকাছি পেতে হবে ...

2 সম্পাদনা করুন: আমি এগুলি আরও 6 টি উত্তর দ্রুত আশা করিনি। আমার ধারণা এটি যেমন রয়েছে তেমন থাকছে। দুর্দান্ত কাজ সবাই!


হেই, আমি আমার একাদশ উত্তর লিখেছি, কেবল এটি বুঝতে পেরেছিলাম যে এটি ইতিমধ্যে পোস্ট করা হয়েছে, এখন আমি এটিকে 12 তম উত্তরে পরিবর্তন করেছি :)
গরুরা

কোনও আইডিয়া কেন ভিম কার্যকর করতে এত সময় নেয়?
হালকা মিল্কিওয়েস্ট

@ মিস্টাফিগিন্স আমার ধারণা এটি এর কারণ কোডটি কীস্ট্রোকে রূপান্তর করতে হবে, তবে এর বাইরে আমার কোনও ধারণা নেই
গরুগুলি

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

20

35. ইন্টারকল (সি-ইন্টার্কাল), 631 বাইট

#v`16/"<"6/b.q@"(: ::Q):  ␉␉␉␉ :(22)S#;n4"14"
#>3N6@15o|>␉^*ttt*~++~~~%
#= >␉1#v#v0l0mx01k1k0l0ix0jx0h0h1d111P0eU0bx0b0o1d0b0e0e00x1d0i0fx0g0n0n11x0o0n0cx0c0o0f0c0gx0g0f0h0j0j0i0001k10mx0m0l11111100(^_)
#[␉
#`<`|
print((eval(" 1\x2f2")and(9)or(13))-(0and 4)^1<<(65)>>(62))or' (\{(\{})(\{}[()])}\{}\{}\{})'#46(8+9+9+9+9+=!)#1111|=/=1/24=x=9[<$+@+-@@@@=>+<@@@=>+<?#>+.--.]/
__DATA__=1#//
#.\."12"␉*
""""#//
=begin␉//
$'main'//
#-3o4o#␉
=end   #//
"""#"#//
#0]#echo 21#/ (\[FAC,1<-#2FAC,1SUB#1<-#52FAC,1SUB#2<-#32FACLEGEREEX,1PLEASEGIVEUPPLEASE) a
#   +/Jn~
#8␛dggi2␛`␉|1|6$//''25  >>>#>27.say# =#print(17)#$nd^_^_.]Q222999/+23!@1#"26

একটি আক্ষরিক ট্যাব, একটি আক্ষরিক ESC অক্ষর; স্ট্যাক এক্সচেঞ্জ অন্যথায় প্রোগ্রাম ম্যাঙ্গাল হবে। আমি যদি আপনি এটিতে কাজ করতে চান তবে নীচের টিআইও লিঙ্কের "ইনপুট" বক্স থেকে প্রোগ্রামটি অনুলিপি করার পরামর্শ দিচ্ছি।

অনলাইনে তাদের চেষ্টা করুন!

ভগ্নস্বাস্থ্য শিঠ্ট

এই প্রোগ্রামটি ছাপে 35 INTERCAL মধ্যে 34 রেল এ, 33 এ ঘটনায়, 32 বেগে চলা এ, 31 মডুলার SNUSP এ, 30 হোয়াইটস্পেস এ, 29 ট্রিগার এ, 28 ব্রেন-বিমানবিধ্বংসী কামান এ, 27 পার্ল 6, মধ্যে 26 05AB1E এ, 25 পিপ মধ্যে , 24 Thutu মধ্যে 23 Hexagony এ, 22 Underload এ, 21 নিম এ, 20 প্রস্তাবনা এ, 19 Reng এ, 18 অঙ্কবাচক এ, 17 জুলিয়া এ, 16 Pyth এ,15খড়ের গাদা, মধ্যে 14 Turtlèd এ, 13 রুবি এ, 12 বিদারণ এ, 11 Befunge-98 এ, 10 Befunge-93, ইন 9 পার্ল 5, মধ্যে 8 অক্ষিপট এ, 7 Japt এ, 6 SMBF এ, 5 পাইথন 2, মধ্যে 4 ইন> <>, মিনকোল্যাংয়ে 3 , ভি / ভিমে 2 এবং পাইথন 3 এ 1

প্রতিপাদন

উপরের দেখানো টেস্ট ড্রাইভার দ্বারা বেশিরভাগ ভাষা পরীক্ষা করা হয়। আপনি এখানে রেং এবং মডুলার এসএনইউএসপি এখানে পরীক্ষা করতে পারেন ; তারা যথাক্রমে 19 এবং 31 আউটপুট দেয়। আমি স্থানীয় সিস্টেমে অফিসিয়াল ইন্টারপ্রেটার ব্যবহার করে ঘটনাটি পরীক্ষা করেছি।

মনে রাখবেন যে লুকানো অক্ষরগুলি চিহ্নিত করা সহজ করার জন্য আমি পরীক্ষার ড্রাইভারটিতে কয়েকটি পরিবর্তন যুক্ত করেছি; বিভিন্ন NUL বাইট নির্দিষ্ট ভাষায় প্রোগ্রামটির আউটপুটটিতে প্রবেশ করেছিল cre আমি সিদ্ধান্ত নিয়েছি যে এটি সম্ভবত কোনও সমস্যা নয়, কারণ ক) বিস্তৃত জমাগুলি এটি করে চলেছে, এবং খ) বেফুঞ্জ দোভাষীরা অতিরিক্ত NUL বাইট যুক্ত করছেন বলে মনে হচ্ছে যদিও প্রোগ্রামে কিছুই বোঝা যাচ্ছে না (যদি না আমি 'কিছু মিস করেছেন), সুতরাং এটি অবশ্যই যুগ যুগ ধরে চলছিল এবং সম্ভবত দোভাষী কীভাবে কাজ করে তার অংশ এটি। (দ্রষ্টব্য যে যে ভাষাগুলি এখনও NUL বাইটগুলি আউটপুট দেয় - বেফুঙ্গেস এবং মিনকোলাং - তাদের এই কোডটি জমা দেওয়ার জন্য কোড পরিবর্তন করেনি))

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

ব্যাখ্যা

ইন্টারকল কোড কীভাবে কাজ করে

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

যেমন, আমরা প্রথমে স্পষ্টভাবে প্রোগ্রামটি বের করে দিয়ে ফাইলের শেষে চলমান আবর্জনা রোধ করতে পারি (যে কোনও উপায়ে যা প্রয়োজন, কারণ ইন্টারকাল ক্র্যাশ হয় যদি স্পষ্টভাবে প্রস্থান কমান্ড ব্যতীত প্রোগ্রামের শেষে পৌঁছানো হয়)। প্রোগ্রামটির শুরুটি পরিচালনা করা আরও মজাদার এবং পার্সার বাগটি ব্যবহার করে। আপনি 20% সম্ভাবনা (এবং অন্যথায় কিছুই করবেন না) দিয়ে DO %20 READ OUT #8আউটপুট দেওয়ার মতো কিছু লিখতে পারেন VIII। যতদূর আমি বলতে পারি, সি-ইন্টার্কাল দ্বিতীয় লাইনে লোন% কে বিভক্ত করে প্রথম কমান্ডের চালনার 0% সম্ভাবনা নির্দেশ করে এবং এভাবে প্রতিবারই ধারাবাহিকভাবে এটি চালিত হয় না। ( কেন এটি এটিকে এভাবে পার্স করে তা আমি নিশ্চিত নই , তবে সংকলিত কোডটি দেখলে এটি এলোমেলো সংখ্যা উত্পন্ন করে এটির সাথে তুলনা করে shows)

বহুগ্লোটের বাকী অংশটিকে ফিট করার আগে ইন্টারকল প্রোগ্রামটি কীভাবে দেখেছিল তা এখানে:

DO,1<-#2
DO,1SUB#1<-#52
DO,1SUB#2<-#32
DOREADOUT,1
PLEASEGIVEUP

এটি মোটামুটি সহজ: একটি 2-উপাদান অ্যারের ইনস্ট্যান্ট করুন; উপাদানগুলি যথাক্রমে ৫২ এবং ৩২ (দশমিক) এ সেট করুন (ইন্টারকলের স্ট্রিং এনকোডিংটি নিঃশব্দে রেখে দেওয়া সেরা; আমি কীভাবে এটি কাজ করি তা ভুলে গিয়েছি এবং এই সংখ্যাগুলি কেন এনকোড করে তা বের করার জন্য বিভিন্ন পরীক্ষা-নিরীক্ষা করতে হয়েছিল 35); স্ট্যান্ডার্ড আউটপুট এ এটি পড়ুন; এবং প্রোগ্রামটি প্রস্থান করুন। বিনীত কথোপকথনের গ্রহণযোগ্য সীমানা রেখে প্রোগ্রামের শেষে ময়লা-আবর্জনার জন্য একটি নতুন বিবৃতি শুরু করে উপহার প্রদানের বিবৃতিটি শেষ করার জন্য আমি শেষে একটি অতিরিক্ত দয়া করে যুক্ত করলাম। অবশ্যই, ইন্টারকাল সমাপ্ত পণ্যটিতে এর মতো দেখতে লাগে না; আমি কেন যাব তা ব্যাখ্যা করব।

একটি লোড নিচে চাপা Sস্প্যানিশ ভাষায়

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

তবে ^প্রোগ্রামের শেষে আমাদের দুটি অক্ষর রয়েছে, যা আন্ডারলোড কোড চালায়; সুতরাং সেগুলি Sকার্যকরভাবে কার্যকর করা হবে যদি আমরা এটি সম্পর্কে কিছু না করি। আমি এটিকে অন্য চরিত্রে পরিবর্তন করতে পারতাম, তবে সিদ্ধান্ত নিয়েছিলাম কোডটি রক্ষা করা আরও সহজ যাতে এটি অর্থহীন হয়ে যায়। aআন্ডারলোডের একটি স্ট্রিং থেকে পালিয়ে যায় (এর অর্থ এই যে ^স্ট্রিংটি কার্যকর করার পরে, এটি ক্ষতিকারক পার্শ্ব প্রতিক্রিয়া তৈরি করার পরিবর্তে কেবল আবার এটিকে ছেড়ে দেওয়া হবে)। আমরা ইতিমধ্যে একটিতে aআছেsay পার্ল 6 কোড (যা কোড এই বিন্যাস মধ্যে, সম্পর্কহীন কিছু পরিবর্তনের কারণে আসলে যথেষ্ঠ) ব্যবহার করা হয়। তবে, যাতে লোকেরা যাতে নির্ভর না করে, আমি আরও একটি যুক্ত করেছিaরেখার শেষে (আমি সেখানে কোনও চরিত্র চেয়েছিলাম যা অন্যথায় ফাঁকা স্থানগুলি দৃশ্যমান হবে তা তৈরি করতে এবং হেক্সাগনিকে যেমন প্যাডিংয়ের প্রয়োজন ছিল; নোট করুন যে হেক্সাগনি এই প্রোগ্রামে ঠিক করা মোটামুটি সহজ ছিল, এবং সত্যই তা নয় পৃথক আলোচনা প্রয়োজন)। সুতরাং আন্ডারলোড কোডটি এটি করা যেতে পারে তার চেয়ে একটু কম ভঙ্গুর।

অনেক কাজ এবং বিভ্রান্তির প্রারম্ভিক

আহ, উপস্থাপনা সাধারণত সবচেয়ে কঠিন ভাষা নয়, তবে এটি অবশ্যই এই সময়। দুটি আসল সমস্যা রয়েছে: একটি হ'ল দীর্ঘ পংক্তিতে অতিরিক্ত বন্ধনী যুক্ত করা প্রিলেড প্রোগ্রামের নিয়ন্ত্রণ প্রবাহকে বিঘ্নিত করার ঝুঁকি চালায় (যেহেতু তারা একটি whileলুপের সমতুল্য তৈরি করে ), এবং একটি কেবল তাদের আস্তরণ প্রতিরোধ করার সমস্যা is উল্লম্বভাবে উপরে উঠুন (যা বেশিরভাগ এলোমেলোভাবে লাইনে হোয়াইটস্পেসের ঘোরাফেরা করার জন্য দায়ী)। নোট করুন যে হোয়াইটস্পেসটি আমাকে কিছুটা সমস্যাও দিয়েছে, তবে এই প্রোগ্রামটি হোয়াইটস্পেসের দৃষ্টিকোণ থেকে পূর্বেরটির সমতুল্য, সুতরাং এটি "হোয়াইটস্পেসটি না ভেঙে প্রিলিওড ফিক্স" করার মতো ঘটনা ছিল।

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

একটি ফিশন চুল্লি ভাঙ্গা

যদিও উপরের পরিবর্তনগুলি মোটামুটি সূক্ষ্ম সমস্যার জন্য ছিল যা সমাধান করা শক্ত, তবে আরও অনেক সুস্পষ্ট সমস্যা রয়েছে; DOREADOUTরেজেক্সের সাথে মেলে R...O, এবং এভাবে ফিশন চতুর্থ চক্রের অনাকাঙ্ক্ষিত আউটপুট তৈরি করবে, যা এর উদ্দেশ্যযুক্ত আউটপুট আউটপুট দেওয়ার পর্যাপ্ত সময় নয় 12। এবং ইন্টারকলের কেবলমাত্র একটি নির্দেশ রয়েছে যা আউটপুট উত্পাদন করে (যদি না আপনি আউটপুট হিসাবে ক্র্যাশ হওয়া গণনা করেন)। এটির মধ্যে একটি সমাধান হ'ল আউটপুট আটকাতে আমাদের সময় দেওয়ার মধ্যে READএবং এর মধ্যে শ্বেতস্পেস যোগ করার চেষ্টা করা, তবে এটি হোয়াইটস্পেসকে OUTরাগিয়ে তোলে। কিছুক্ষণের জন্য, আমি ভেবেছিলাম এই প্রোগ্রামটি অসম্ভব; R, L, U, এবং Dবিদারণ এ সম্ভাব্য চলমান সমস্যাযুক্ত কোডের সব পারে এমন সব এন্ট্রি পয়েন্ট, এবং INTERCAL কীওয়ার্ড বড়হাতের হতে হবে।

যাইহোক, একটি স্থির আছে, এবং মোটামুটি অবাক করা। আন্তর্জাতিকীকরণের চেষ্টার অংশ হিসাবে, সি-ইন্টার্কাল প্রকৃতপক্ষে ইংরেজি এবং লাতিন উভয়ের জন্য সমর্থন করে একাধিক ভাষায় কীওয়ার্ড গ্রহণ করে। আমরা এ জাতীয় এড়াতে Sপারি না , তবে এড়াতে পারি O; FACএর জন্য একেবারে ভাল বিকল্প DO, এবং একইভাবে LEGERE EXএকই জিনিসটির অর্থ READ OUT। (এইভাবে প্রোগ্রামটি ইংরাজী এবং লাতিনের মিশ্রণে শেষ হয়েছে, তবে এটি ঠিক আছে; এটি এটিকে খুব কমই পাঠযোগ্য করে তোলে)) এরূপে, আমরা আনন্দের সাথে ফিশনকে নীচের ডান কোণায় পাগল হতে দিতে পারি, এবং কেবল এটিকে কোনও উত্পাদন করতে দেই না আউটপুট। আমরা আসল ফিশন কোডটি পরিবর্তনের *পরিবর্তে শেষ করতে পারি;, যা কেবলমাত্র একটি থ্রেডের পরিবর্তে পুরো প্রোগ্রামটিকে সরিয়ে দেয়; এই কোডটি মোটামুটি দ্রুত সঞ্চালিত হয়, সুতরাং সমস্ত বিপথগামী এন্ট্রি পয়েন্টগুলিতে কোনও ক্ষতি করার সময় হওয়ার আগে এটি প্রোগ্রামটি থেকে বেরিয়ে যায়।

বোনা 6, পার্ল 6

পরবর্তী সমস্যা: মেলানোর মাধ্যমে পার্ল 6 মন্তব্য কাজ <এবং >। ইন্টারকলের অ্যাসাইনমেন্ট অপারেটর <-। ভাগ্যক্রমে, এটি অতিরিক্ত উদ্বোধনী বন্ধনী যুক্ত করে, তাই আমি প্রোগ্রামে একটি আনসারসড স্থানে সেগুলি বাতিল করতে কেবল কয়েকটি বন্ধের বন্ধনী যুক্ত করতে পারি (কেবলমাত্র এই ক্ষেত্রে পিপ কোডের পরে)।

যাইহোক, আমি প্রোগ্রামটির হোয়াইটস্পেস বাজেটটি পরিবর্তন করতে চাইনি, তবে জুলিয়া কোডটি (প্রিলিওডের জন্য) সরিয়ে নিয়ে শেষ লাইনে একটি অতিরিক্ত স্থান যুক্ত করা শেষ হয়েছিল; আমাকে কোথাও থেকে সরিয়ে ফেলতে হয়েছিল। দ্বিগুণ স্থান হ'ল পিপ-এ একটি মন্তব্য চিহ্নিতকারী, তাই আমি খুব কমই এগুলি পরিবর্তন করতে পারি; কেবলমাত্র অবশিষ্ট বিকল্পটি হল স্থান say 27। পার্ল 5 গল্ফাররা তাত্ক্ষণিকভাবে "ভাল ঠিক তখনই" ভেবে say+27দেখবে ( +অবাক হয়ে যায় প্রায়শই অবাক হয়ে আসে!) তবে দুর্ভাগ্যক্রমে এটি পার্ল 6 সিনট্যাক্স বৈধ নয়।

আমরা যা করতে পারি তা হ'ল sayফাংশন সিনট্যাক্স থেকে পদ্ধতি সিনট্যাক্সে পরিবর্তন । পূর্ণসংখ্যার আক্ষরিকগুলিতে একাধিক পদ্ধতি রয়েছে, সেগুলি মুদ্রণ করতে একটি সহ, 27.sayএকই দৈর্ঘ্যের একটি পুরোপুরি বৈধ প্রোগ্রাম।

বর্গক্ষেত্র হবে? সেখানে থাকবেন না

পরবর্তী সমস্যাটি হ'ল আমি .প্রোগ্রামটিতে একটি অতিরিক্ত যুক্ত করেছি । এসএমবিএফ ব্যবহারকারীরা জানতে পারবেন যে সেই ভাষায় স্পষ্টতই একটি সমস্যা, বিপথগামী আউটপুট উত্পাদন করে (এই ক্ষেত্রে NUL বাইট)। ছিল ইতিমধ্যে একটি .উত্পাদক বিপথগামী আউটপুট গত প্রোগ্রাম, কিন্তু তার মানে এই নয় যে আমি এটা ঠিক করতে সুযোগ গ্রহণ করা উচিত।

এখানে মূল ধারণাটি আপত্তিকর নির্দেশাবলীর মন্তব্য করার জন্য একটি এসএমবিএফ লুপ তৈরি করা। এর অর্থ বর্গাকার বন্ধনীকে ঘুরিয়ে দেওয়া। আমি তাদের এসএনইউএসপি কোডের আশেপাশে নিয়েছিলাম (কারণ তারা কেবলমাত্র ঘটনার স্বার্থে সেখানে ছিল, এবং প্রোগ্রামটি কোথায় রয়েছে তা ঘটনা তাদের যত্ন করে না ) এবং ইন্টারকাল কোডের শুরুতে উদ্বোধনী বন্ধনী স্থাপন করেছিল এবং ট্রিগারের ঠিক আগে বন্ধনী বন্ধন (এইভাবে উভয় .গুলি পরিষ্কার করে লুকানো আছে )।

দুর্ভাগ্যক্রমে, বর্গাকার বন্ধনী রেটিনার কাছে অর্থবহ; এটি দেখে […<-#…এবং বলেছে " এটির কোনও মানে হয় না, আপনি এই পরিসরটি তৈরি করতে পারবেন না কারণ <আগে আসে না #"। ভাগ্যক্রমে, কৌশলগতভাবে রাখা ব্যাকস্ল্যাশ সহ এটি সহজেই স্থিরযোগ্য।

প্রোগ্রামের কেন্দ্রবিন্দু

এটি শেষ উত্তর হয়েছিল, এবং সম্ভবত এখন থেকে বারবার ঘটতে চলেছে; বিভিন্ন স্ট্রিং এলোমেলোভাবে তিনবার ঘটেছিল এবং ঘটনাটির দৃষ্টিকোণ থেকে প্রোগ্রামের কেন্দ্রের চারপাশে স্থানান্তরিত হয়েছিল।

হ্যান্ডেল করার জন্য সবচেয়ে জরুরি টোকেনটি ছিল 1#, যা আপনি যদি নিঃশব্দে এই পরিবর্তনগুলি করেন তবে তিনবার উপস্থিত হয়: #= >␉1#তৃতীয় লাইনের শুরুতে __DATA__=1#এবং echo 21#। কেন এটি একটি সমস্যা? কারণ 1#তৃতীয় লাইনে এর #vঠিক পরে ওভারল্যাপ হয় এবং দুটি ওভারল্যাপিং টোকেন তাদের উভয়ই গণনা করে না। এবং #vঘটনামূলক প্রোগ্রামটি আউট হওয়ার আগে আমরা কোডটিতে মন্তব্য করতে ব্যবহৃত টোকেন কী! আমি 1#প্রোগ্রামের শেষের খুব কাছাকাছি একটি অতিরিক্ত গোপনে এটিকে ঠিক করেছি (কেবলমাত্র তিনটি অক্ষরই এটি অনুসরণ করে); প্রোগ্রামটির সেই অংশটিকে বিশ্লেষণ করে এমন কোনও ভাষা এটিকে দিয়ে কিছুই করে না।

মোকাবেলা করতে অন্যান্য বিভিন্ন সমস্যাযুক্ত টোকেন ছিল। একটি দম্পতি একক চিঠি ছিল, Pএবং U; আমি চতুর্থ অনুলিপি xদিয়ে Pবা Uযথাক্রমে ঘটনা কোডটিতে ফিলার নো-অপ্সের কয়েকটি পরিবর্তন করার মাধ্যমে এগুলি মোকাবিলা করেছি । ফিশন কোডে পরিবর্তনটি *একটি টোকেন হিসাবে ছেড়ে যায় , তবে উল্লেখযোগ্যভাবে, এটি স্বাভাবিকের চেয়ে আলাদাভাবে বিভক্ত হয়, ঘটনা কোডের আগে দু'বার উপস্থিত হয় এবং এরপরে একবারেই। এটি অপসারণের পরিবর্তে, আমি এটি আংশিকভাবে নতুনটির ভারসাম্য বজায় রাখতে ব্যবহার করেছিLE আন্তঃ কোডে প্রদর্শিত টোকেনকে । প্রোগ্রামটি কেন্দ্রের দিকে চালিয়ে যাওয়ার জন্য এটি যথেষ্ট0oটোকেন. অবশ্যই প্রোগ্রামটিতে পরিবর্তনগুলি এটিকে বিঘ্নিত করার যথেষ্ট সম্ভাবনা রয়েছে। (টিআইও-তে ঘটনা প্রবাহের জন্য আমার প্রচেষ্টা ব্যর্থ হয়েছে লিবিডিজুফসোর্টটি সেখানে উপলব্ধ না হওয়ার কারণে, তাই দেখে মনে হচ্ছে আমরা কোনও নতুন দোভাষী থেকে বিশেষত জাভাস্ক্রিপ্টে উপকার পেতে পারি যাতে এটি অনলাইনে চলতে পারে you're আপনি যদি আগ্রহী হন তবে এটি একবার দেখুন) প্রশ্ন ।)


1
বাহ, এই চ্যালেঞ্জটি একটি আশ্চর্যজনকভাবে দীর্ঘ পথ চলেছে। দারূন কাজ!
মাইল্ডলি মিল্কিওয়েস্ট 26'17

ল্যাটিন ?! বাহ, কি দুর্দান্ত সমাধান! আমি পছন্দ করি যে কোডটি এখন 'দয়া করে ছেড়ে দিন' বলে। এ যেন আমার ছেড়ে যাওয়ার সাহস করে।
চান্স

19

1. পাইথন 3 (8 বাইট)

print(1)

এই প্রোগ্রামটি পাইথন 3 এ 1 মুদ্রণ করে ।

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


>> <> 2 য় ভাষার জন্য একটি ভাল পছন্দ (যাতে আমরা 2 ডি স্পেস শুরু করি)?
গাভী

সুতরাং এর মানে এর পরের উত্তরটি 9 বাইটের বেশি হতে পারে না? এটি অন্য একটি সঙ্গে আসা সত্যিই কঠিন হতে হবে।
DJMcMayhem

1
@ ডিজেএমসিএমহেম প্রতিটি উত্তর অবশ্যই 20% বা 20 বাইটের বেশি (যেটি বড় হবে) এর বেশি হতে হবে না
গরুকে

19

10. বেফুঞ্জ , 95 বাইট

#v02^0;7||"<+0+0+0+<;n4
#v0#@00
#>3N.
#|\w*
#8
#|
#M`
print(None and 9or 1/2and 1or 5)
#jd5ki2

শেষ লাইনে (grr, @ ais523) এর মধ্যে jএবং এর মধ্যে একটি আক্ষরিক ESC অক্ষর রয়েছে d। এটি এই কোডটিতে অন্তর্ভুক্ত নয়। আসল কোড পেতে, Try it onlineলিঙ্কে যান।

এই ছাপে 1 পাইথন 3, মধ্যে 2 তেজ এ, 3 Minkolang এ, 4 <> মধ্যে <, 5 পাইথন 2, মধ্যে 6 SMBF এ, 7 Japt এ, 8 অক্ষিপট এ, 9 পার্ল, এবং 10 Befunge হবে।

এই কোডটি রেটিনার সাথে এবং মিনকোলং এবং এসএমবিএফ এর সাথে ভাগ *করে .

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

ব্যাখ্যা

আসল প্রোগ্রাম

#v02^
    @
    .
    *



    t
    5
#v02^

শেষ লাইনটি স্পষ্টতার জন্য লেখা হয়েছিল ( বেফুঞ্জ খেলার মাঠটি চক্রযুক্ত))

#

ট্রাম্পোলিন, স্কিপস v

02^

পুশ 0এবং তারপর 2স্ট্যাক এবং উপরে যান।

5t*.@

পুশ 5, নো-ওপেন, স্ট্যাক ( 2এবং 5), মুদ্রণ, শেষ প্রোগ্রামে দুটি উপাদানকে গুণিত করুন ।


1
এটি এসএমবিএফকে প্রথমে নাল বাইট মুদ্রণ করে .
পূর্কাকাডারী

@ Pietu1998 স্থির!
জংহওয়ান মিন

আরে, আমিই এমন ভাষা ব্যবহার করতে পছন্দ করি নি যেখানে সর্বাধিক গুরুত্বপূর্ণ কমান্ডগুলি মুদ্রণযোগ্য অক্ষর ... (অন্য সংবাদে, আমি বেফঞ্জকে এই বহুভক্তকে যুক্ত করার একটি দৃ possibility় সম্ভাবনা হিসাবে বিবেচনা করছিলাম; এটি মনে হয় এটির সাথে বেশ উপযুক্ত) অন্যান্য ভাষাগুলি

@ ais523 আমি সম্মত হই যে এই কোডটি সংশোধন করা কঠিন হতে পারে। এটিকে হ্রাস করতে, আমি কিছু 0গুলি রেখেছিলাম তা বোঝাতে যে এই অক্ষরগুলি কিছু হতে পারে ( "<+0+0+0+<;n4অংশ ব্যতীত ) এবং বেফঞ্জ কোডের কিছু অংশগুলি আশেপাশে সরানো যেতে পারে। এবং পরবর্তী ব্যক্তির জন্য একটি পরামর্শ: বেশিরভাগ অক্ষর বেফুঞ্জের কোনও বিকল্প নেই, সুতরাং আরও লাইন যুক্ত করা সম্ভবত বেফঞ্জ কোডকে প্রভাবিত করবে না।
জংহওয়ান মিন

একটি বেফঞ্জ -৮৮ (বা অন্যান্য অনুরূপ ছত্রাক) জমা দেওয়ার বিষয়ে চিন্তা করা, কারণ তারা নিয়মিত '93-এ কোনও অপ-অপারেশন যুক্ত ন্যায্য পরিমাণ অপারেশন যুক্ত করে। যদিও এটি মাপসই করা শক্ত হতে পারে এবং অন্য সমস্ত ভাষাগুলি কীভাবে কাজ করেছিল যাতে আমি তাদের চারপাশে কাজ করতে পারি তা
অনুধাবন করা দরকার

19

21. নিম (161 বাইট)

#v`16/"<"6/b.q@#;n4"14""
#>3N6@15o|> ^*ttt*~++ %
#=~nJ<R"12";
#[

print((1/2and 9 or 13)-(0and+4)^1<<65>>62)#46(89999+++++!)=#print(17)#]#echo 21
#8dggi2` |1|6

দুটি লাইনের <ESC>মধ্যবর্তী 8dএবং 2`শেষ লাইনে s আপনি বলতে পারেন যে আমার আগেরটি তাড়াহুড়ো করে গল্ফ করেছিল, কারণ আমি আজ সকালে ঘুম থেকে উঠে বুঝতে পেরেছিলাম যে আরও কিছুটা গুছিয়ে নিতে পারি। আমার 152 বাইট ছিল তবে এটি কেবল পার্ল 5.24.0 এ কাজ করবে বলে মনে হয় তাই টিআইওর সাথে সামঞ্জস্যের স্বার্থে আমি আপাতত আসল প্রকাশটি রেখেছি।

পাইথন 3 এ 1, ভিনে 2, মিনকোল্যাং-এ 3,> 4> ইন> <>, পাইথন 2-এ 5, এসএমবিএফ-তে 6, জাপটে 7, রেটিনায় 8, পার্লে 9, বেফুঞ্জ -99-এ 11, বেফুঞ্জে 11 -98, ফিশনে 12, রুবিতে 13, টার্টলিয়ডে 14, হায়স্ট্যাকের 15, পাইথের 16, জুলিয়ায় 17, কার্ডিনালের 18, রেং-এ 19, প্রিলেডে 20 এবং নিমের 21 টি

নোট করুন যে আইডোন.কম এ নিমটি ০.০১.২ সংস্করণ ব্যবহার করে, এটি একটি পুরানো বাচ্চা, যেহেতু এই প্রোগ্রামটি ২০১ #[ ... ]#early সালের শুরুর দিকে যুক্ত মাল্টলাইন মন্তব্যগুলিতে নির্ভর করে ।

কার্ডিনালের উইন্ডোজ দোভাষীকে ধন্যবাদ, আমার কর্মপ্রবাহে এখন দুটি ল্যাপটপ এবং এর মধ্যে একটি পাইথন http.serverরয়েছে।


সম্পাদনা করুন - আরও কিছু ইঙ্গিত:

  • 8শেষ লাইনটি শুরুতে এটা অক্ষিপট আউটপুট would ছাড়া, প্রথম 8 ম্যাচ থেকে রেটিনা এর সীমা সেট হয় অন্যথায় 2। মনে রাখবেন এর অর্থ এই যে চূড়ান্ত লাইন রেজেক্সটি কেবলমাত্র দ্বিতীয় শেষ লাইনে কমপক্ষে 8 বারের সাথে মিলিত হওয়া দরকার, ঠিক 8 এর বিপরীতে - আমার মধ্যস্থতার সময় আমি রেটিনা ডান পাওয়ার জন্য প্রিলিওডকে সংশোধন করেছি, তবে এটি প্রমাণিত হয়েছিল যে শেষ পর্যন্ত অপ্রয়োজনীয় ছিল ।
  • প্রথম পংক্তির শেষে অনবদ্য উদ্ধৃতিটি যাতে পাইথটি বাকী কোডটির জন্য অবৈধ বাক্য গঠন সম্পর্কে অভিযোগ না করে।
  • আপনি যদি দ্বিতীয় লাইনটি সংশোধন করেন তবে আপনাকে 6@মিনকোলাংয়ের জন্য পরিবর্তন করতে হতে পারে যা পয়েন্টারটি 6 স্পেসে ল্যান্ড করার জন্য ^
  • এখানে এখন একটি জুড়ি রয়েছে [], সুতরাং এসএমবিএফের একটি হিট করার আগে 0 টি সেল থাকা দরকার [, বা ঘরটি পরিষ্কার করার জন্য অভ্যন্তরের বিকল্প প্রয়োজন needs

গল্ফ করার জন্য আরও অনেক কিছু আছে (এমনকি এখন %কার্ডিনালের জন্য একটি বিপথগামী জায়গা আমি দেখতে পাচ্ছি ) তবে আমার খুব ভোরের ভোরের মধ্যে গল্ফ করা বন্ধ করা উচিত।


1
টিআইও এখন কার্ডিনালকে সমর্থন করে
মাইল্ডিলিউকোটিস্ট

19

51. সমাবেশ (x64, লিনাক্স, এএস) , 1086 বাইট

#16  "(}23!@)(" 3//*v\D@;'[af2.qc]'#)"14";n4
#/*` PkPPZ (22)S"[!(>7 7*,;68*,@;'1,@␉␉␉␉ q
#>␉
# >36!@␉
#`<`
#<]+<[.>-]>[
#{
#z}
#
#=x<R+++++[D>+++++++EAL+++<-][pPLEASE,2<-#2DO,2SUB#1<-#52PLEASE,2SUB#2<-#32DOREADOUT,2DOGIVEUPDOiiipsddsdoh]>+.-- -. >][
#x%+>+=+~tt .
#D>xU/-<+++L
#R+.----\).>]|
#[#[(}2}20l0v01k1kx0l0ix0jor0h0h1d111x0eU0bx0b0o1d0b0e0e0@O6O4/0m1d0i0fx0g0n0n11x0o0n0cx0c0o0f0c0gx0g0f0h0j0j0i0001k10vx0v0l111111^_)  0046(8+9+9+9+9+=!)
###|
'\';echo 50;exit;';print((eval("1\x2f2")and(9)or(13))-(0and 4)^1<<(65)>>(62))or"'x"or'({({1})({1}[(0)])}{1}\{1})'#}#(prin 45)(bye)|/=1/24=x<$+@+-@@@@=>+<@@@=>+<?#d>+.--./
__DATA__=1#"'x"//
#.\."12"__*'
###;console.log 39
""""#//
=begin //
#sseemeePaeueewuuweeeeeeeeeeCisajjap*///;.int 2298589328,898451655,12,178790,1018168591,84934449,12597/*
#define p sizeof'p'-1?"38":"37"
#include<stdio.h>
main ( )/*/
#
#"`#"\'*/{puts (p);}/*'"`"
/*
<>{#65}//
#}
disp 49#//
#{
1}<>//
$'main'//
#-3o4o#$$$
#<R>"3"O.
=end #//
"""#"#//
#}
#s|o51~nJ;#:p'34'\=#print (17)#>27.say#]#print(47)#]#echo  21
#sss8␛dggi2␛ `|1|6$//''25  16*///89^_^_Z222999"26

একটি আক্ষরিক ট্যাব, একটি আক্ষরিক ESC অক্ষর; স্ট্যাক এক্সচেঞ্জ অন্যথায় প্রোগ্রাম ম্যাঙ্গাল হবে। আমি যদি আপনি এটিতে কাজ করতে চান তবে নীচের টিআইও লিঙ্কের "ইনপুট" বক্স থেকে প্রোগ্রামটি অনুলিপি করার পরামর্শ দিচ্ছি।

আরও জানতে চান? বহুভোট চ্যাট চেষ্টা করুন !

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

ভিআইপি স্কোর ( ভার্সেটাইল ইন্টিজার প্রিন্টার ): .008186 (উন্নত করতে, পরবর্তী এন্ট্রি 1151 বাইটের বেশি হওয়া উচিত নয়)

এই প্রোগ্রামটি ছাপে 51 পরিষদের মধ্যে 50 ব্যাশ এ, 49 অক্টেভ এ, 48 Deadfish ~ মধ্যে 47 লিলি এ, 46 Cubix এ, 45 PicoLisp এ, 44 alphuck এ, 43 জালি এ, 42 মন্দ এ, 41 brainf মধ্যে *** , ন্যূনতম -2 ডি তে 40 , কফি স্ক্রিপ্টে 39 , সিতে 38 , সি ++ এ 37 , ল্যাবরেথে 36 , ইন্টারকলের 35 , রেলের 34 , ঘটনায় 33 , ঘূর্ণিতে 32 ,31 Befunge-98 এ,মডুলার SNUSP মধ্যে 30 হোয়াইটস্পেস এ, 29 ট্রিগার এ, 28 ব্রেন-বিমানবিধ্বংসী কামান এ, 27 পার্ল 6 এ, 26 05AB1E এ, 25 পিপ এ, 24 Thutu এ, 23 Hexagony এ, 22 Underload এ, 21 নিম এ, 20 প্রস্তাবনা মধ্যে , 19 Reng মধ্যে 18 অঙ্কবাচক এ, 17 জুলিয়া এ, 16 Pyth এ, 15 খড়ের গাদা মধ্যে, 14 Turtlèd এ, 13 রুবি এ, 12 বিদারণ এ, 11 10 Befunge-93 এ,9 পার্ল 5, মধ্যে 8 অক্ষিপট এ, 7 Japt এ, 6 SMBF এ, 5 পাইথন 2, মধ্যে 4 মধ্যে> <>, 3 Minkolang এ, 2 ভি / তেজ, এবং 1 পাইথন 3।

প্রতিপাদন

উপরের দেখানো টেস্ট ড্রাইভার দ্বারা বেশিরভাগ ভাষা পরীক্ষা করা হয়।

  • রেং এখানে 19 আউটপুট পরীক্ষা করা যেতে পারে ।

  • মডুলার এসএনইউএসপি এখানে 31 আউটপুট পরীক্ষা করা যেতে পারে ।

  • কিউবিক্সের ঘনক্ষেত্রটি এখানে দেখেছে

  • পূর্ববর্তী উত্তরে বর্ণিত হিসাবে টোকেনগুলিকে ভারসাম্য রেখে ঘটনা পরীক্ষা করা হয়।

  • ডেডফিশ ~ এর জন্য, এটির সাথে 48 আউটপুট পরীক্ষা করা যেতে পারে । নোট করুন যে ডেডফিশ the বহুগ্লোটকে স্টিডিনে খাওয়ানোর জন্য নিয়ে যায়, এবং >>স্ট্যান্ডিন আউটপুটে অনেকগুলি প্রম্পটগুলি মুদ্রণ করে , যা কোনও ডেডফিশ ~ প্রোগ্রাম চালানোর একটি অনিবার্য পরিণতি।

  • সমাবেশ এখানে আউটপুট 51 পরীক্ষা করা যেতে পারে

ধন্যবাদ এবং অভিনন্দন

@ আইস 523-এর 50-ইন-1-কে উত্তর 2 সপ্তাহ আগে বাদ পড়লে, একটি টিয়ার আমার গালটি ঘুরিয়ে দিয়েছে। এটা খুব সুন্দর ছিল। এবং এটি ছিল বাশে। এটি খুব নিখুঁত ছিল।

আমি আমার স্ত্রীর দিকে ফিরলাম এবং বললাম "আমি মনে করি বহুভোজ সম্পন্ন হয়েছে", প্রচুর গর্ব বোধ করছি।

সে আমাকে চোখের দিকে তাকাতে লাগল, এক মুহুর্ত থামিয়ে বলল, “ভাল। এবার আবর্জনা বের করুন।

যদিও তার অর্থ হ'ল তিনি আমার এবং আমার ইন্টারনেট বন্ধুদের জন্য গভীর আনন্দ অনুভব করেছিলেন। সবাইকে ধন্যবাদ ও অভিনন্দন।

সমাবেশের ব্যাখ্যা

এর পরের দিনগুলিতে, আমার মন বাশ পোস্ট করার কিছুক্ষণ আগে বহুগ্লোট আড্ডায় @ আইস ৫৩৩ এর কথার দিকে ফিরে ঘুরে বেড়াচ্ছে। তিনি উল্লেখ করেছিলেন যে সমাবেশের কিছু স্বাদ #ভিত্তিক লাইন মন্তব্য এবং /*ব্লক মন্তব্য ব্যবহার করে। ঠিক এটি আমার পক্ষে পরবর্তী 2 সপ্তাহের জন্য ধীরে ধীরে আমার মন হারাতে যথেষ্ট ছিল।

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

সমস্যার জন্য আমার মাথাটি কিছুক্ষণ ধাক্কা দেওয়ার পরে, এসেম্বলি এবং সি / সি ++ সহাবস্থানের জন্য একটি উপায় সন্ধান করার পরে, আমি খুঁজে পেলাম যে এটি জিএনইউ এসেম্বলিংয়ের নথি:

অতীতের সমাবেশকারীদের সাথে সামঞ্জস্যপূর্ণ হওয়ার জন্য, '#' দিয়ে শুরু হওয়া লাইনগুলির একটি বিশেষ ব্যাখ্যা রয়েছে have '#' অনুসরণ করা একটি নিখুঁত প্রকাশ হতে হবে (এক্সপ্রেশন দেখুন): পরবর্তী লাইনের লজিকাল লাইন নম্বর। তারপরে একটি স্ট্রিং (স্ট্রিংস দেখুন) অনুমোদিত: উপস্থিত থাকলে এটি একটি নতুন যৌক্তিক ফাইলের নাম। বাকী রেখাটি যদি কোনও হয় তবে শ্বেতক্ষেত্রের হওয়া উচিত।

এটি আমি লক্ষ্য করেছি যে বহুবৃত্তের 1 নং লাইনে সি / সি ++ এর জন্য আমাদের প্রসেসরের দিকনির্দেশনার সাথে বেশ মিল রয়েছে। কিছু পরীক্ষা এবং ত্রুটির পরে আমি দেখতে পেলাম যে #1 “bla” 1//*কেবল সমাবেশের জন্য একটি ব্লক মন্তব্য প্রবেশ করবে।

এবং তাই একটি বহুভুজ তৈরি করা হয়েছিল।

সবচেয়ে বড় ব্লকিং সমস্যার সমাধান হওয়ার সাথে সাথে আমি এই হ্যালো ওয়ার্ল্ডের উদাহরণটি গল্ফ করেছিলাম।

.intel_syntax noprefix
.section .data
     msg: .asciz "51"
.section .text
.global _start
_start:
    # write syscall
    mov     rax, 1
    # file descriptor, standard output
    mov     rdi, 1
    # message address
    mov     rsi, OFFSET FLAT:msg
    # length of message
    mov     rdx, 14
    # call write syscall
    syscall
    #End the Program
    mov    rax, 60
    mov    rdi, 0
    syscall

প্রাথমিক লেখকের ক্রেডিট

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

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

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

বিভিন্ন ধরণের রেজিস্টার রয়েছে যা বিভিন্ন উদ্দেশ্যে ব্যবহৃত হয়। উইকিপিডিয়া থেকে:

• এক্স গুন / ভাগ, স্ট্রিং লোড এবং স্টোর

String স্ট্রিং অপারেশন এবং শিফ্টের জন্য সিএক্স গণনা

IN IN এবং আউট এর জন্য ডিএক্স পোর্ট ঠিকানা

• মোভের জন্য বিএক্স সূচক রেজিস্টার

• এসপি পয়েন্ট স্ট্যাকের শীর্ষে

• স্টিপ ফ্রেমের বেসে বিপি পয়েন্ট

• এসআই স্ট্রিম ক্রিয়াকলাপগুলিতে কোনও উত্সকে দেখায়

• ডিআই স্ট্রিম ক্রিয়াকলাপগুলিতে কোনও গন্তব্যের দিকে নির্দেশ করে

এ এক্স এখানে _start ফাংশন লাইন ব্যবহার করা হয়: mov rax, 1rমধ্যে raxইঙ্গিত করে যে মেমরি 64-বিট হয়। যদি আমরা এটির জন্য একটি অদলবদল eকরি তবে এটি 32-বিট মেমরির ইঙ্গিত দেয় যা 64-বিট প্রসেসরের সাথে সম্পূর্ণ বৈধ। আমরা কেবল উপলব্ধ মেমরির উপরের অর্ধেকটি ব্যবহার করব না। 16-বিট মেমরি নির্দেশ করতে, আপনি কেবল ব্যবহার করুন ax, যা আমাদের পক্ষে ঠিক আছে কারণ আমরা কেবল পূর্ণসংখ্যা মুদ্রণ করি। সুতরাং আমরা সমস্ত রেজিস্ট্রার রেফারেন্স 16 বিট পরিবর্তন করে কিছু বাইট গল্ফ করতে পারি।

ঠিক আছে, সমস্ত রেজিস্টার রেফারেন্স বাদ দিতে পারে না rmov rsi, OFFSET FLAT:msg। আপনি যদি সমাবেশের সাথে পরিচিত হন, তবে এই বিবৃতিটি নয়, কারণ এটি এএস-এর কাছে আধা অনন্য ছিল। অন্তত, যে কি আমি থেকে উত্পন্ন এই , যা আমার শুধু বিবৃতি নিচে সোনা সাহায্য করেছে lea rsi,m

এই পর, আমি experientially পাওয়া গেছে যে আমি কোপ পারে _start:শুধু নিচে _pএবং কাটা .global _startশুধুমাত্র একটি ইস্যু সতর্কবার্তা সঙ্গে সম্পূর্ণরূপে। দ্বিতীয়ত, msg:কেবল একটি একক চরিত্রের পরিবর্তনশীল থেকে কমিয়ে আনা হয়েছিল p:। আমি pস্ট্রিং ভেরিয়েবল এবং sআলফাকের সুবিধার্থে যুক্ত হওয়া কিছু অ্যাসেম্বলির অফসেট শুরু করার জন্য উভয়ের জন্যই বেছে নিয়েছি।

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

এই গল্ফ আমাদের ডাউন:

.intel_syntax noprefix;.text;mov ax,1;mov di,1;lea rsi,m;mov dx,2;syscall;mov ax,60;mov di,0;syscall;m:.asciz "51"

এত কিছুর পরেও, জ্যাপ এবং আন্ডারলোডই এই উত্তরের একমাত্র সমস্যা ছিল। জাপটে *লাইন 1- এ যুক্ত হওয়া সাথে কিছু গরুর মাংস ছিল , তবে এটি puts(p);সি ++ উত্তর থেকে রেখায় ফিরে গিয়ে স্থির বলে মনে হয়েছে । আমি (এই লাইনে একটি নিক্ষেপ করে শেষ করেছি এবং তারপরে এটি একেটিভের লাইনে বন্ধ করব। এটি এতটাই ছিল যে আন্ডারলোড সেফোল্টিং বন্ধ করবে। অনুরূপ চিকিত্সা সেখানে যোগ করার জন্য 1 লাইনে ছিল *

এই চ্যালেঞ্জের বাইট প্রয়োজনীয়তাগুলি পূরণ করার জন্য এটি যথেষ্ট ছিল। বাস্তবে আমি বহুগ্লোটের এই সংস্করণটি তৈরি করে যাচাই করেছি । তবে আমি সম্ভব হলে ভিআইপি স্কোরকে আরও উন্নত করার চেষ্টা করতে চেয়েছিলাম। এবং যেহেতু আমি চ্যালেঞ্জের সমস্ত প্রয়োজনীয়তা পূরণ করেছি, তাই কোডটি গল্ফটিতে সহযোগিতা করার বিষয়ে আমি ঠিক অনুভব করেছি। তাই আমি কিছু গল্ফিংয়ের সাহায্য নেওয়ার জন্য বহুবৃত্ত চ্যাটে থামলাম।

আমাদের অবশ্যই আরও গভীর হতে হবে

@ ais523 এই বিবৃতি সহ মেশিন কোড হিসাবে সমাবেশকে নির্দেশিকাটি পাস করার একটি কৌশল দেখিয়েছে।

.text;.long 2298589328,898451655,12,178790,1018168591,84934449,12597 মেশিন কোড হল সিপিইউ দ্বারা সরাসরি সম্পাদিত সংখ্যাসূচক নির্দেশনার একটি সিরিজ যা দশমিক, হেক্সাডেসিমাল বা অক্টাল উপস্থাপন করা যেতে পারে। আমাদের উদ্দেশ্যগুলির জন্য দশমিক হ'ল সংক্ষিপ্ততম (হেক্স 0xপ্রতিনিধিত্ব করতে অগ্রণী ভূমিকা নেয় )। এখানে .longবিবৃতিটি ঘোষণা দিচ্ছে যে এরপরে যা ঘটেছিল তা দশমিক মেশিন কোডের নির্দেশাবলীর একটি সিরিজ।

ঠিক আছে, আমি এই বিবৃতিটি ভালভাবে দেখেছিলাম এবং কিছুক্ষণের জন্য এটি যাজক কী অনুমতি দেবে তা দেখতে এবং কয়েকটি পরিবর্তন করেছি। প্রথমত, আমি আবিষ্কার করেছি যে আমি .text;কেবলমাত্র সতর্কবার্তা ইস্যুগুলি সহ সমস্তগুলি একসাথে সরিয়ে ফেলতে পারি , এটি ছিল বেশ বিক্রি হওয়া বাইট সঞ্চয়। তারপরে কিছুক্ষণ পরে আমি এটিও খুঁজে পেয়েছি, এএস স্পষ্ট ডকুমেন্টেশনে এই বিবৃতি

। দীর্ঘ হিসাবে .int হিসাবে একই

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

.int 2298589328,898451655,12,178790,1018168591,84934449,12597

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

এখানে কোড স্নিপেট।

এবং এখানে ঠিক সমাবেশ।

nop
mov    $0x1,%al
mov    %eax,%edi
lea    0xc(%rip),%rsi
mov    $0x2,%dx
syscall 
mov    $0x3c,%al
xor    %edi,%edi
syscall 
.byte 0x35
xor    %eax,(%rax)

এই লিঙ্কটি অ্যাসেমব্লির প্রতিটি লাইনের পাশাপাশি কয়েকটি 2 টি অক্ষরের হেক্স সংখ্যাও দেখায়। এগুলি দশমিক নির্দেশাবলীর সাথে সামঞ্জস্য। উদাহরণস্বরূপ, যদি আপনি করা 2298589328মধ্যে এই হেক্স কনভার্টার দশমিক, আপনি পেতে 8901B090ফিরে। এবং যদি আপনি ঘনিষ্ঠভাবে তাকান তবে সেগুলি হ'ল অবজেক্ট ডাম্পের প্রথম 4 হেক্স নির্দেশাবলী (বিপরীত ক্রমে)।

আমি যা বলতে পারি, সেখান থেকে 4 টি হেক্সাডেসিমাল সংখ্যার সেট সর্বদা দশমিক রূপান্তর করতে ব্যবহৃত হয় এবং প্রধান বাইট সেভ ট্রিকটি এখানে ব্যবহার করা হয় যাতে সমাবেশ গঠন করা হয় যাতে আমাদের 4 টি সেটে শেষ কয়েকটি হেক্স সংখ্যা 00 হয়। এগুলি পরে রূপান্তরিত হবে নেতৃস্থানীয় শূন্যগুলিতে যখন আমরা তাদের .intবিবৃতিতে রাখি যা কেবল বাদ পড়েছে।

12বিবৃতিতে যা ঘটছে তা এটিই । বস্তুর হেক্স অংশে এটি ডাম্প হয় 0c 00 00 00

এটি যতক্ষণ না আমার সমাবেশ সম্পর্কে 2 সপ্তাহের মধ্যে বুঝতে পেরেছে understanding কী ক্রাশ কোর্স!

ঘটনা

সংক্ষিপ্ত সমাবেশ বাস্তবায়নের ক্ষেত্রে ঘটনাটি আরও জটিল সমাধান ছিল কারণ এটি বহুগ্লুত টোকেনকে ওজনে ওজনে শীর্ষে আরও ভারি করে তোলে। এখানে ঘটনা রিপোর্ট।

  • ! লাইনে 2 পৃথক করা !

  • প্রথম EAINTERCAL লাইনে নিজেই detokenizes

  • দ্বিতীয় থেকে শেষ লাইনের শেষ স্থানটি একটি স্পেস-স্পেস টোকেনকে আলাদা করে।

  • 85 শেষ লাইনে বিচ্ছিন্ন করা

  • Rমধ্যে #<R>"3"O.detokenizesR

  • 65মধ্যে <>{#65 }//tokenizes65

  • 16 শেষ লাইনে নিজেকে বিচ্ছিন্ন করে

  • 89 শেষ লাইনে নিজেকে টোকনাইজ করে

মৌলিক

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

= পয়েন্টারের সক্রিয় মানটিকে তার নিষ্ক্রিয় মানটিতে অনুলিপি করে।

বহুবিদত এটি ব্যবহৃত কৌশল নয়। পুরানো সমাধানটিতে এই শিক্ষণকারীগুলি অন্তর্ভুক্ত ছিল: `++ ~ * t

++ 2 পর্যন্ত incriments।

~ সক্রিয় স্ট্যাক পরিবর্তন করে

* স্ট্যাকগুলি যুক্ত করে।

আমি বুঝতে পেরেছি যে ~*কেবল =নির্দেশের মাধ্যমেই এটি অর্জন করা সম্ভব , তাই আমি কিছু অকেজো স্ট্যাক অদলবদল করতে এবং এই ছোট বাইট সংরক্ষণে যুক্ত করার জন্য সমাধানটি পুনরায় কাজ করেছি।


3
আপনি কীভাবে এমনকি এই আশ্চর্যজনক পর্যায়ে বহুবিবাহ বজায় রাখতে পারেন তা সম্পর্কে আমি আগ্রহী। কিভাবে ???
কিউয়ার্প-ডের্প

3
এটি সত্যিকারের খাঁটি সৌন্দর্যের জিনিস।
মুজার

ইউনারি পরবর্তী হওয়া উচিত
ক্রিস্টোফার

না, এটি ভিআইপি স্কোরকে হত্যা করবে (কোডটি 3 বাইট বা তার কম না হলে)
ক্যালকুলেটরফলাইন

19

6. এসএমবিএফ , 45 বাইট

#v<++++<;n4
#>3N.
print('1'if 1/2else'5')
#i2

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

এই প্রোগ্রামটি কপি করে প্রিন্ট 1 পাইথন 3, মধ্যে 2 ভী সালে 3 Minkolang v0.15, এ 4 মধ্যে> <>, 5 পাইথন 2, এবং 6 SMBF হবে।

SMBF (ওরফে স্ব-পরিবর্তন Brainfuck) ব্যবহার করে <++++<>.। পয়েন্টারটি বাম দিকে সরানো হয়েছে (উত্স কোডের শেষ অক্ষরে), এবং ঘরটি মুদ্রিত হওয়ার পরে চার বার বাড়ানো হয়।


17

13. রুবি (129 বাইট)

#v;2^0;7||"<+0+0+0+<*!2'!1'L;n4
#v0#_q@
#>3N.
#|\w*
#8  ^1b0<
#|
#M`
print ((0 and'13')or(None and 9 or 1/2 and 1 or 5))
#jd5ki2

দয়া করে আক্ষরিক নোট Escমধ্যে শেষ লাইনে চরিত্র jএবং dপ্রতি যেমন ais523 এর পার্ল উত্তর।

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

এই ছাপে 1 পাইথন 3, মধ্যে 2 তেজ এ, 3 Minkolang এ, 4 মধ্যে <> <, 5 পাইথন 2, মধ্যে 6 SMBF এ, 7 Japt এ, 8 অক্ষিপট এ, 9 পার্ল এ, 10 Befunge এ, 11 Befunge- মধ্যে 98, 12 ফিশনে এবং 13 রুবিতে।

রুবিতে printসত্য যে সত্য তা অপব্যবহারের জন্য বিদ্যমান বক্তব্যটিতে সামান্য পরিবর্তন করা হয়েছে 0ification এটিকে সঠিকভাবে বিশ্লেষণ করতে আমাকে অন্যান্য বিবৃতিতে কিছু স্পেস যুক্ত করতে হয়েছিল।


17

15. খড়ের ছিদ্র (141 বাইট)

#v;2^0;7||"<+0+0+0+<*!2'!1'L#'1r'4;n4
#v0#_q@
#>3N.15o|1
#|\w*
#8  ^1b0<
#|
#M`
print ((0 and'13')or(None and 9 or 1/2 and 1 or 5))
#jd5ki2

দ্রষ্টব্য: একটা হল ESCপর oতৃতীয় লাইনে এবং পরে jগত লাইনে

এই ছাপে 1 পাইথন মধ্যে 3 , 2 তেজ এ, 3 Minkolang এ, 4 মধ্যে <> <, 5 পাইথন মধ্যে 2 , 6 SMBF এ, 7 Japt এ, 8 অক্ষিপট এ, 9 পার্ল এ, 10 Befunge এ, 11 Befunge- মধ্যে ফিশনে 98 , 12 , রুবিতে 13 , টার্টল্ডে 14 , এবং হ্যাস্ট্যাকের 15 জন

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

ব্যাখ্যা

#v                           go down
 v
 >                           go right
  3N.                        does nothing important
     15o|                    outputs 15 and ends program
                             there is an <ESC> after 'o' since 'o' in Vim enters insert mode
         1                   I added this to satisfy Retina

অসাধারণ, খড়খড়ি পরীক্ষা করার জন্য ধন্যবাদ! :)
কেডে

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

@ কেড এখন খড়খড়ের জন্য একটি টিআইও লিঙ্ক আছে!
গরু হাতুড়ে

@MistahFiggins লিংক আমার জন্য কাজ করে এবং 15 আউটপুট
গরু হাতুড়ে

@ মিস্টাফিগিনস ক্যাশে? কারণ এটি কোনও সমস্যা বা কোনও ত্রুটিযুক্ত বার্তা ছাড়াই আমার পক্ষে কাজ করে
গরুগুলি

17

9. পার্ল, 84 বাইট

#v;7||"<+0+0+0+<;n4
#>3N.
#|\w*
#8
#|

#M`
print(None and 9or 1/2and 1or 5)
#j␛d5ki2

তার মাঝে প্রকৃত কোডে একটি আক্ষরিক চট্টগ্রাম সিটি কর্পোরেশন চরিত্র jএবং d; দৃশ্যমানতার জন্য এটি একটি ␛ এখানে প্রতিস্থাপন করা হয়েছে।

এই ছাপে 1 পাইথন 3 , 2 তেজ মধ্যে (স্থানীয়ভাবে পরীক্ষিত, কিন্তু এখানে অনুরূপ ভাষা ভী জন্য একটি লিঙ্ক), 3 Minkolang মধ্যে , 4 <> <মধ্যে , 5 পাইথন 2 , 6 SMBF মধ্যে , 7 Japt মধ্যে , 8 রেটিনাতে , এবং 9 পার্লে

আসুন গণিতগুলিকে অপব্যবহারের মাধ্যমে আরও কিছু বহিরাগত ভাষা পাওয়া যাক যা বিভিন্ন ভাষায় আলাদাভাবে কাজ করে। ( Noneপাইথনে মিথ্যা তবে পার্লে সত্যবাদী এবং and/ orচেইন উভয় ভাষায় একইভাবে কাজ করে))

পাইথন ছাড়াও আমাকে ভিম কোডও পরিবর্তন করতে হয়েছিল। এটিকে কোনও অপ্সের একটি ধারাবাহিক না করে পরিবর্তে, আমি কেবল এটি জাঙ্ক sertোকাতে দিই, তারপরে আবার জাঙ্কটি আবার মুছলাম।


4
সিরিয়াসলি? আপনি যদি আক্ষরিক ইসি রাখেন তবে অন্য কারও পক্ষে উত্তর তৈরি করা একেবারে কঠিন করে তুলছেন। আমাদের কোডটি পরীক্ষা করতে সক্ষম হতে হবে।
mbomb007

1
আপনার নিজের উত্তরগুলিতে আপনাকে আক্ষরিক ESC অন্তর্ভুক্ত করতে হবে না; আমি এটি এটি লেখার সবচেয়ে সহজ উপায় বলে মনে করেছি। (অতিরিক্তভাবে, এটি ফায়ারফক্সে এবং স্থানীয় পরীক্ষায় দুর্দান্ত কাজ করে; পোস্টে আমাকে পোস্ট করা থেকে বিরত করা একমাত্র জিনিস হ'ল ক্রোমিয়াম, যা আমি এসই এর জন্য ব্যবহার করি না, এটি ইনপুট বাক্সে রাখতে চায় না))

1
এছাড়াও, আপনি স্থানীয়ভাবে ভিমের জন্য পরীক্ষা করতে পারবেন না। ভাষা ব্যবহৃত হয় দোভাষী দ্বারা সংজ্ঞায়িত করা হয়। সুতরাং এটি সত্যিই ভি যে আমাদের এই সমস্ত সময় ছিল।
mbomb007

1
এরর, ভিমের vimজন্য দোভাষী না ? (এটি vimযদিও এবং ভি উভয় ক্ষেত্রেই কাজ করে ))

4
@ ais523 সম্ভবত আপনি 0x1B বাইট উপস্থাপন করতে put রাখতে পারেন?
betseg

17

36. ল্যাবরেথ , 647 বাইট

#v`16/"<"6/b.q@"(: ::Q):  ␉␉␉␉ :(22)S#;n4"14"
#>3N36!@@15o|>␉^?.*ttt*~++~~~%
#= >␉1#v#v0l0mx01k1k0l0ix0jx0h0h1d111P0eU0bx0b0o1d0b0e0e00x1d0i0fx0g0n0n11x0o0n0cx0c0o0f0c0gx0g0f0h0j0j0i0001k10mx0m0l11111100(^_)
#[␉
#`<`|
print((eval(" 1\x2f2")and(9)or(13))-(0and 4)^1<<(65)>>(62))or' (\{(\{})(\{}[()])}\{}\{}\{})'#46(8+9+9+9+9+=!)#1111|=/=1/24=x=9[<$+@+-@@@@=>+<@@@=>+<?#>+.--.]/
__DATA__=1#//
#.\."12"␉*
""""#//
=begin␉//
$'main'//
#-3o4o#␉
=end   #//
"""#"#//
#0]#echo 21#/ (\[FAC,1<-#2FAC,1SUB#1<-#52FAC,1SUB#2<-#32FACLEGEREEX,1PLEASEGIVEUPPLEASE) a
#   +/Jn~
#0␛dggi2␛`␉|1|6$//''25  >>>#>27.say# =#print(17)#$nd^_^_.]Q2229991#;abcd!fghij/+23!@"26

একটি আক্ষরিক ট্যাব, একটি আক্ষরিক ESC অক্ষর; স্ট্যাক এক্সচেঞ্জ অন্যথায় প্রোগ্রাম ম্যাঙ্গাল হবে। আমি যদি আপনি এটিতে কাজ করতে চান তবে নীচের টিআইও লিঙ্কের "ইনপুট" বক্স থেকে প্রোগ্রামটি অনুলিপি করার পরামর্শ দিচ্ছি।

অনলাইনে তাদের চেষ্টা করুন!

ভগ্নস্বাস্থ্য শিঠ্ট

এই প্রোগ্রামটি ল্যাবরেথে ৩ 36, ইন্টারকল এ ৩৫, রেলপথে ৩৪, ঘটনায় ৩৩, ঘূর্ণিতে ৩২, মডুলার এসএনইউএসপিতে ৩১, হোয়াইটস্পেসে ৩০, ট্রিগারে ২৯, ব্রেন-ফ্ল্যাটে ২৮, পার্ল 1-এ ২ 27, 05 এএফ 1 ই তে 26 ছাপা হয়েছে , পিপে 25, থুতুতে 24, হেক্সাগনীতে 23, আন্ডারলোডে 22, নিমের মধ্যে 21, প্রিলেডে 20, রেং-এ 19, কার্ডিনাল 18, জুলিয়ায় 17, পাইথের 16, হায়স্ট্যাকের 15, টার্টল্ডে 13, রুবিতে 12, ফিশনে 11, বেফুঞ্জ -99-এ 11, বেফুঞ্জ -99 এ 10, পার্ল 5-তে 9, রেটিনার 8, জাপটে 7, এসএমবিএফ-এ 6, পাইথনে 2, 4 ইন> <>, মিনকোল্যাং-এ 3 , ভি / ভিমে 2, এবং পাইথন 3 এ 1।

প্রতিপাদন

উপরের দেখানো টেস্ট ড্রাইভার দ্বারা বেশিরভাগ ভাষা পরীক্ষা করা হয়। আপনি এখানে রেং এবং মডুলার এসএনইউএসপি এখানে পরীক্ষা করতে পারেন ; তারা যথাক্রমে 19 এবং 31 আউটপুট দেয়। @ আইস 523 ঘটনাটি কোডটি ডিবাগ এবং ঠিক করতে সহায়তা করেছে যা এখন কাজ করে।

কীভাবে ল্যাবরেথ কাজ করে

লাইব্রের্থটি উত্সটির কিছু কলামকে কিছুটা কাছাকাছি স্থানান্তরিত করতে শুরু করে, তবে কয়েক ধাপ পরে পয়েন্টারটি Nদ্বিতীয় লাইনে অবস্থিত যেখানে পৌঁছেছে (প্রাথমিকভাবে, পয়েন্টারটি উপস্থিত হওয়ার সাথে সাথে Nসেখানে আর থাকবে না) ডানদিকে চলেছে , স্ট্যাকের শীর্ষে একটি 0 দিয়ে। তারপরে, এটি কেবল 36 টি পুশ করে এবং মুদ্রণ করে এবং এর সাথে শেষ হয়36!@

জিনিসগুলি আমি ভেঙেছি

আমি জানতাম যে আমি ল্যাবরেথ যুক্ত করতে চেয়েছি, কারণ এটি কয়েকটি ইস্যুং এর সম্পর্কে আমি কিছুটা জানি। এটির ডিবাগারটি দিয়ে, আমি দেখতে পেলাম যে শেষ লাইনে 8 টি 0 তে 0 করে পরিবর্তন করে ল্যাবরেথ অসীম লুপে আটকে যায়নি এবং আজবভাবে, অন্য কিছুই ভাঙ্গেনি বলে মনে হয়। সেখান থেকে আমি আমার প্রয়োজনীয় কাঁচা ৩ 36 এবং আউটপুট কমান্ডটি ফেলে দিয়েছি এবং সেগুলি সহজেই @জিনিসগুলি সমাপ্ত করার জন্য নেতৃত্ব দিয়েছে ।

তারপরে, আমি যা ভেঙেছিলাম তা মেরামত করতে চলেছিল: মিনকোলাং, কার্ডিনাল এবং হেক্সাগনি।

!Minko পরবর্তী অক্ষরে, যা এটি বিনষ্ট করা প্রয়োজন লাফালাফি উপার্জন করা হয়েছে, তাই আমি শুধু একটি অতিরিক্ত যোগ @। এ পর্যন্ত সব ঠিকই.

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

হেক্সাগনি সৌভাগ্যক্রমে একটি অপেক্ষাকৃত সহজ ফিক্স ছিল, আমি কেবল অক্ষরের একটি স্ট্রিংয়ে ছুঁড়ে দিয়েছি যাতে পয়েন্টারটি কোডটি খুঁজে পায়। আমি বর্ণমালাটি দেখেছি যে এর আগে উপস্থিত না হওয়া উচিত ছিল এবং ঘটনাটির সাথে সমস্যা তৈরি করবে না। এটি যখন আমি বুঝতে পেরেছিলাম আমি ঘটনাটি পরীক্ষা করি নি। @ Ii523 এর জন্য ধন্যবাদ, আমি জানতে পেরেছিলাম যে আমার কেবলমাত্র একটি অতিরিক্ত বিস্মৃতিবোধের পয়েন্ট দরকার, তাই eবর্ণমালার স্ট্রিংয়ের মধ্যে একটিতে পরিবর্তিত হয়েছিল !

বহুমুখী পূর্ণসংখ্যার প্রিন্টার থেকে স্কোর

প্রশ্নটির জন্য @ স্টিভি গ্রিফিনের মন্তব্যগুলি কিকস এবং অফ করার জন্য, এখানে একটি স্নিপেট রয়েছে যা দেখায় যে "উত্তর ভার্সেটাইল ইন্টিজার প্রিন্টারে" প্রবেশ করানো হলে প্রতিটি উত্তর কীভাবে অর্জন করতে পারত।


1
ঠিক আছে, দেখে মনে হচ্ছে এটি ঘটনার সাথে সামান্য সমস্যা তৈরি করে; ঠিক তিনটি বিস্মৃতি চিহ্ন থাকার কারণে প্রোগ্রামটির অফ-সেন্টারটি রয়েছে তবে এটি একটি ফিলার চরিত্রটি চতুর্থ বিস্মৃত চিহ্নের সাথে পরিবর্তন করে সহজেই ঠিক করা যেতে পারে। eবর্ণমালায় আমি পরিবর্তন করেছি আপনি একটি উদ্দীপনা চিহ্নে যুক্ত করেছেন; এটা কাজ বলে মনে হচ্ছে।

1
নিস! আমি গোপনে গোলকধাঁধার জন্য অপেক্ষা করছিলাম, আপনার পক্ষে খুব ভাল। একটি পৃথক নোটে, এখন পর্যন্ত কোডটির সেরা অংশটি (আমার জন্য) "অনুগ্রহ করে" কেবলমাত্র চেষ্টা করা বন্ধ করতে বলছে message ;)
মাইল্ডলি মিল্কিওয়েস্ট

17

41. brainf *** , 916 বাইট

#  4"16" 3//v\(@#/;\D"14"<;n4
#/*`3 afaaZ">;[77*,68*,@;'1,'1,q)(22)S#   ␉␉␉␉ (
#yy␉;36!@
#`<` ␉
#=␉x
#<]+<[.>-]>[
#␉<
###xR+++++[D>+++++++L+++<-][<<<]>+.---.>][
#px%>~~~+␉+~*ttt*.x
#D>xU/-<+++L)
#R+.----.R␉>]|
#[#yy#yy0l0mx01k1k0l0ix0jx0h0h1d111P0eU0bx0b0o1d0b0e0e00x1d0i0fx0g0n0n11x0o0n0cx0c0o0f0c0gx0g0f0h0j0j0i0001k10mx0m0l11111100(^_)
#|␉
print((eval("1\x2f2")and(9)or(13   ) )-(0and 4)^1<<(65)>>(62))or'(\{(\{})(\{}[()])}\{}\{}\{})'#46(8+9+9+9+9+=!)#1111|=/=1/24=x=9[<$+@+-@@@@=>+<@@@=>+<?#>+.--.]/
__DATA__=1#//
#.\."12"␉*
###; console.log  39
""""#//
=begin␉//
#*/
#define␉z  sizeof 'c'-1?"38":"37"
#include<stdio.h>
int main()  /*/
#()`#`\'*/{puts(z);}/*'``
$'main'␉//
#-3o4o#$$$
<>"3"O.<␉>//
#
=end   #//
"""#"#//
#0]#echo 21#/(\[FAC,1<-#2FAC,1SUB#1<-#52FAC,1SUB#2<-#32FACLEGEREEX,1PLEASEGIVEUPPLEASE)  a>>>
#>27.say# /7Jn~15o|  
#8␛dggi2␛`␉|1|6$//''25  =#print(17) ###^_^_LEintnd"3"z!]/}23!@/*///Z222999"26

একটি আক্ষরিক ট্যাব, একটি আক্ষরিক ESC অক্ষর; স্ট্যাক এক্সচেঞ্জ অন্যথায় প্রোগ্রাম ম্যাঙ্গাল হবে। আমি যদি আপনি এটিতে কাজ করতে চান তবে নীচের টিআইও লিঙ্কের "ইনপুট" বক্স থেকে প্রোগ্রামটি অনুলিপি করার পরামর্শ দিচ্ছি।

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

ভিআইপি স্কোর (বহুমুখী পূর্ণসংখ্যা মুদ্রক): 0.01329

ভগ্নস্বাস্থ্য শিঠ্ট

এই প্রোগ্রামটি কপি করে প্রিন্ট 41 brainf মধ্যে ***, 40 সংক্ষিপ্ত-2D মধ্যে 39 CoffeeScript এ, 38 সি, 37 সি ++, এ 36 গোলকধাঁধা মধ্যে, 35 INTERCAL এ, 34 রেল এ, 33 এ ঘটনায়, 32 বেগে চলা এ, 31 সালে মডুলার SNUSP, 30 হোয়াইটস্পেস মধ্যে 29 ট্রিগার এ, 28 ব্রেন-বিমানবিধ্বংসী কামান, এ 27 পার্ল 6 এ, 26 05AB1E এ, 25 পিপ এ, 24 Thutu এ, 23 Hexagony এ, 22 Underload এ,21 নিম, এ 20 প্রস্তাবনা এ, 19 Reng এ, 18 অঙ্কবাচক এ, 3 Minkolang এ, 2 ভি / তেজ, এবং 1 পাইথন 3।17 জুলিয়া মধ্যে 16 Pyth এ, 15 খড়ের গাদা মধ্যে, 14 Turtlèd এ, 13 রুবি এ, 12 বিদারণ এ, 11 Befunge-98 এ, 10 Befunge-93, ইন 9 পার্ল 5, 8 অক্ষিপট এ, 7 Japt এ, 6 এসএমবিএফ-তে 5 , পাইথন 2-তে 4 > ইন> <>,

প্রতিপাদন

উপরের দেখানো টেস্ট ড্রাইভার দ্বারা বেশিরভাগ ভাষা পরীক্ষা করা হয়। আপনি এখানে রেং এবং মডুলার এসএনইউএসপি এখানে পরীক্ষা করতে পারেন ; তারা যথাক্রমে 19 এবং 31 আউটপুট দেয়।

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

রুরডাউনটিতে টার্টল্ডের ইউএফটি 8 চরের জন্য কলাম স্পেসিং পরিচালনা করার জন্য আমি একটি টেস্ট ড্রাইভারের সামঞ্জস্যও করেছি। সেই মিসিলাইনমেন্ট আমাকে বাদাম চালাচ্ছিল! "ফিক্স "টি বেশ হ্যাক-ইশ কারণ এটি কেবল একটি for অনুসন্ধান করে এবং সেই ক্ষেত্রে কলামের প্রস্থ পরিবর্তন করে তবে এটি কাজটি সম্পন্ন করে।

ব্যাখ্যা

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

তাই আমি যা করতে পারি তা গলবার চেষ্টা করে এই উত্তরের উপর কাজ শুরু করেছিলাম এবং আমি বেশ সফল হয়েছি। আমার # 40 এর চেয়ে কম মোট বাইট গণনা সহ আলাদা ভাষায় একটি উত্তরও ছিল। তবে আমি ন্যূনতম -2 ডি গল্ফ করার চেষ্টা করার সাথে সাথে আমাকে বিএফ শিখতে হয়েছিল যাতে এর ডেরাইভেটিভগুলির সাথে আরও ভালভাবে কাজ করতে পারি এবং প্রক্রিয়াটিতে আমি @ প্রিমোর রেকর্ড ভাঙা হ্যালো, ওয়ার্ল্ড!। আমি কমনীয়তা প্রেমে পড়েছি।

এটি প্রমাণিত হয়েছে যে, মিনিমাম -২ ডি @ প্রিমো দ্বারা ব্যবহৃত টেপ ইনিশিয়ালাইজিং কৌশলটি ব্যবহার করার পক্ষে যথেষ্ট দক্ষ ছিল না তবে আমি এখনই এটির মতামত করছি যে এটি সম্ভবত খুব বেশি বাইট হবে। আমরা কেবল সর্বোপরি একটি পূর্ণসংখ্যা মুদ্রণের চেষ্টা করছি। কিন্তু @ প্রিমো আমাকে বিএফ-তে কী পরিমাণে গুনতে হয় তা শেখার পথটি আমাকে নীচে পাঠিয়েছিল, যা আমি ন্যূনতম -২ ডি কোড নিয়ে এসেছি।

তারপরেও এই সমস্ত কিছুর পরে, আমি কীভাবে বিএফ অন্তর্ভুক্ত করব সে সম্পর্কে @ স্নোরিংফ্রোগের মন্তব্যটি পুনরায় পড়লাম এবং বুঝতে পেরেছিলাম যে আমি কেবল এটি করতে পারি না, তবে বিএফ উত্তরে আমি যে ন্যূনতম 2D কোডটি গল্ফ করেছিলাম তার বেশিরভাগটিই ব্যবহার করতে পারি। সুতরাং আমি বিএফের সাথে উত্তর দেওয়ার জন্য খনন করেছি এবং আমরা এখানে আছি।

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

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

এস এম / বি এফ

আসুন দ্রুত বেসিকগুলি ধরে নেওয়া যাক। এগুলি এসএমবিএফ এবং বিএফের জন্য একমাত্র বৈধ কমান্ড:

>   Move the pointer to the right
<   Move the pointer to the left
+   Increment the memory cell under the pointer
-   Decrement the memory cell under the pointer
.   Output the character signified by the cell at the pointer
,   Input a character and store it in the cell at the pointer
[   Jump past the matching ] if the cell under the pointer is 0
]   Jump back to the matching [ if the cell under the pointer is nonzero

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

বহুগ্লোটের শুরুতে, বেফুঙ্গসকে >দ্বিতীয় সারিতে সমাপ্তির জন্য চালানো প্রয়োজন এবং পার্ল 6 এর প্রত্যেকটির >আগে একটি হওয়া উচিত <। সুতরাং এসএম / বিএফ শুরুতে <>মেমরি পয়েন্টারটি রেখে শুরু করুন , তারপরে এমন একটি চাপুন [যা উভয় ভাষার জন্য কিছু আক্রমণাত্মক অক্ষরকে ensive ]ষ্ঠ সারিতে ফেলে দেয়।

এরপরে, আমরা উভয় ভাষার জন্য অরিজিনাল মেমরি সেল বাড়িয়েছি এবং মেমরি পয়েন্টারটি বাম দিকে নিয়ে যাই +<। (কথোপকথন সম্মেলনের জন্য, আমরা আসল মেমরি সেলটি সেল 0 হিসাবে কল করব, উত্সের ডানদিকে কোষ 1, 2, ... এবং বামে কোষ -1, -2,…) করব। সেল -1 এ এসএমবিএফ-তে বহুভক্ত এবং বিএফ-তে 0 0 এর শেষ অক্ষরের এসকি কোড রয়েছে, সুতরাং যখন পরবর্তীটির [মুখোমুখি হয়, কেবল বিএফ পরবর্তীটিতে যায়] এসএমবিএফ কোডটিতে পাস করার সময় দিকে যায়।

SMBF ঘোরে হিসাবে [.>-]6 বহুভাষিক শেষে পাওয়া ছাপে এবং তারপর মেমরি পয়েন্টার চলে আসে ফিরে সেল 0, তার মান ফিরে শূন্য সেটিং থেকে প্রস্থান করার জন্য ]। পর্যালোচনা করার জন্য, এই পিন্টের টেপগুলি হ'ল: এসএমবিএফের নেতিবাচক কোষগুলি বহুগ্লোট ধারণ করে এবং এটি 0 এবং ধনাত্মক কোষগুলি শূন্য ধারণ করে। বিএফের নেতিবাচক এবং ধনাত্মক কোষগুলি শূন্যকে ধরে রাখে যখন এটির উত্স ঘরটি 1 থাকে।

এর পরে >এসএমবিএফটি সেল 1 এ এবং বিএফ থেকে সেল 0 এ চলে যায় বিএফকে এটির ব্যক্তিগত কোড ব্লক প্রবেশ করার অনুমতি দেয়: [<+++++[>++++++++++<-][<<<]>+.---.>](আমি এটি থেকে নন-বিএফ অক্ষর মুছে ফেলেছি)। এখানে, আমরা সেল -1 এ ফিরে আসি এবং আমাদের লুপ কন্ট্রোল ভেরিয়েবল (সেল -1) 5 টির মানতে শুরু করি এবং তারপরে আমরা লুপটি প্রবেশ করি যেখানে আমরা 10 সেল সেল 0 এবং হ্রাস কোষ -1 লুপটি প্রস্থান করার আগে পাঁচবার প্রবেশ করি where আমরা 0 মানের সাথে সেল -1 এ ইশারা করব।

এর পরে আমরা [<<<]শূন্যের দিকে ইঙ্গিত করার সময় মুখোমুখি হই , সুতরাং বিএফ এর মধ্য দিয়ে যায় না। এখানে উদ্দেশ্যটি পূর্বেরগুলির >সাথে অনেকগুলি ভারসাম্য রক্ষা করা <যাতে পার্ল 6 ত্রুটিটি না বের হয়।

এই মুহুর্তে সেল 0 এর মান 51 হয় 4 4 এর আসকি মান 52 হয়, তাই আমরা পয়েন্টারটি সেল 0 যোগ 1-এ স্থানান্তর করি, তারপরে মানটি মুদ্রণ করি। এবং পরিশেষে, আমরা সেল 0 ফিরে ASCII অক্ষর 1 এবং মুদ্রণের আবার মেমরির পয়েন্টার সংযোজনা করার আগে ঘরের 1 (মান 0) গত থেকে প্রস্থান করার জন্য হ্রাস ]

এসএমবিএফ এবং বিএফ উভয়ই [পরের লাইন 8 এ শেষ হিট করেছে যখন উভয়ই 0 মানের উপর বিশ্রাম নিচ্ছে। সুতরাং উভয়ই ]লাইন ১১ -এ উপস্থিত না হওয়া অবধি অবশিষ্ট ন্যূনতম -২ ডি কোড [পেরিয়ে যায় তবে এগুলি খুব অল্প সময়ের জন্যই কারণ লাইন 12 অন্যটি দিয়ে শুরু হয় যা উভয় ভাষা বহুভুজের প্রায় শেষ প্রান্তে নিয়ে যায় যেখানে পরবর্তী কোনও নির্দেশের মুখোমুখি হয় না।

Refactors

সংক্ষিপ্ত-2D

ন্যূনতম -2 ডি এর পুনর্লিখনটি বেশিরভাগই বিএফ এর গুণক ট্রিকের অনুরূপ ফ্যাশনে কিছু বাইট সংরক্ষণ করতে হয়েছিল। নূন্যতম -২ ডি-তে লুপ নিয়ন্ত্রণের জন্য [এবং ]অক্ষর নেই। পরিবর্তে এটিতে এই আদেশগুলি রয়েছে:

/   Skips next instruction if the data pointer is set to 0.
U   Tells the program to switch to the up direction of processing instructions.
D   Tells the program to switch to the down direction of processing instructions.
L   Tells the program to switch to the left direction of processing instructions.
R   Tells the program to switch to the right direction of processing instructions.

এগুলি বিএফের মতো 2D ম্যানোরের ক্ষেত্রে একই লজিক কাঠামো তৈরি করতে ব্যবহার করা যেতে পারে। উদাহরণস্বরূপ, বি এফ এর ++++++[>++++++<-]>.সমতূল্য এই সংক্ষিপ্ত-2D হবে।

বহুগ্লায় ন্যূনতম -২ ডি কোডের সরল সংস্করণ এখানে সমস্ত বহিরাগত কোড মুছে ফেলা হয়েছে এবং সমস্ত স্থান অক্ষরের সাথে প্রতিস্থাপন করা হয়েছে #

###################D
###R+++++[D>+++++++L
###>
D>#U/-<+++L)
R+.----.R

Dলাইন 1 করা বর্ষণ নির্দেশ পয়েন্টার Lবহুভাষিক যা বাঁদিকে পয়েন্টার পাঠায় লাইন 8। এখানে আমরা লুপ কন্ট্রোল ভেরিয়েবল (সেল 0) থেকে 7 এ সেট করেছি, মেমরি পয়েন্টারটি সেল 1 এ সরিয়ে একটি লুপ লিখব। লুপে, আমরা 3 সেল 1 যোগ করি, সেল 0 হ্রাস করে তারপর सेल 0 এর মান শূন্য কিনা তা পরীক্ষা করে দেখুন। যদি তা না হয় তবে আমরা আরও 1 টি সেল 1 এ যুক্ত করব তারপর হ্রাস এবং আবার পরীক্ষা করুন। এই লুপটির ফলাফলটি সেল 1 এর মানটি লুপের শেষে (6 * 8 + 3) 51 এ সেট করা হয়।

আমরা আশা করে লুপটি প্রস্থান করি U, মেমরি পয়েন্টারটি 1 কক্ষের দিকে নিয়ে যাই এবং নীচের দিকে বহুভীরের 11 লাইনে ডানদিকে যাই। এবং পরিশেষে, আমরা 4 এর জন্য ascii মান বৃদ্ধি করি তারপর প্রোগ্রামটি শেষ করার ডানদিকে চালানোর আগে 0 এর জন্য ascii মান থেকে কমিয়ে।

অক্ষিপট

রেটিনার প্রচুর প্রয়োজনীয়তা ছিল যা সমস্ত বিএফ ডেরিভেটিভসের সাথে কাজ করা কঠিন ছিল। এটি ধারাবাহিকের +বা মেলানো ()বা পছন্দ করে না []। তবে এগুলি প্রতিটি অন্যান্য লাইনের জন্য কেবলমাত্র প্রয়োজনীয়তা, সুতরাং বিএফ, এসএমবিএফ এবং ন্যূনতম -2 ডি এর জন্য প্রচুর কাজ কোডের সিংহকে এমনকি সংখ্যাযুক্ত লাইনে রাখার চারদিকে ঘোরে olved

একমাত্র বাইটটি |রেটিনার প্রতি সম্পূর্ণ প্রতিশ্রুতিবদ্ধ হয়েছে যদিও লাইন ১১-এর শেষ প্রান্তে @ কিছু মিলবে "। এটি ছাড়াই, রেটিনা ফিরে আসে 0 কেন এটি এটি ঠিক করে দেয়, আমি জানি না। আমাকে রেটিনায় খুব বেশি খনন করতে হয়নি, সম্ভবত আমি দীর্ঘ লাইন এড়িয়ে চলেছি বলে। তবে প্রিলিওডের মতো, আমি এটির ডিবাগ কীভাবে বোঝার দরকার তা আমার ততটুকু বুঝতে হবে না, যা এই ক্ষেত্রে বেশিরভাগ ক্ষেত্রেই লাইনটি মুছে ফেলার (2 এর বহুগুণে) অন্তর্ভুক্ত না হওয়া অবধি আমি খুঁজে পেয়েছি যা এটিকে ভেঙে ফেলছে। আমি @ ais523 এর মন্তব্যের ভিত্তিতে এই ফিক্সটি অনুমান করেছি এবং পুরষ্কার পেয়েছি। আমার ধারণা স্কুলের পক্ষে আমি খুব শীতল।

মৌলিক

আমি কার্ডিনালের কোডের সাথে সম্পর্কিত @ স্নোরিংফ্রোগের ন্যূনতম -2 ডি বসানো পছন্দ করেছি। কার্ডিনাল রেটিনাকে বিরক্ত করে না এমন বিবেচনা করে এটি একটি ভাল অবস্থান এবং এটি দেখে মনে হয় যে কিছুটা ন্যূনতম -2 ডি দিয়ে অন্তরঙ্গকরণের অনুমতি দেয়। সুতরাং যখন আমি 2D জমি পর্যন্ত ন্যূনতম -2 ডি প্রতিস্থাপনের উদ্দেশ্যে রওনা হলাম, তখন আমি যাত্রার জন্য কার্ডিনালকে নিয়ে এসেছি। যদিও কার্ডিনালটিতে কয়েকটি দম্পতি প্রসাধনী পরিবর্তন ছিল। প্রথমত, আমি তার লুপ / ​​সেকেন্ডের মধ্যে মেমরি পয়েন্টার পরিবর্তন করতে ন্যূনতম -2 ডি >এর বক্তব্যটির শুরুতে খুব কাছাকাছি ছুঁড়ে দিয়েছি, আমি #p x%>~~~+ +~*ttt*.xলুপটি লুপ থেকে বেরিয়ে যাওয়ার জন্য সর্বনিম্ন 2D কক্ষটি দেওয়ার জন্য একটি চরিত্রকে ডানে সরিয়ে নিয়েছি। pএই হুল এই অক্ষর প্যাডিং জন্য।

Befunge / 98

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

.কমান্ড স্ট্যাক এবং একটি দশমিক পূর্ণসংখ্যা যেমন আউটপুট বন্ধ মান, পপ আপ করবে একটি স্থান দ্বারা অনুসরণ কিছুটা ওদিক মত। ,একটি মান পপ করবে, এটি একটি অক্ষরের ASCII মান হিসাবে ব্যাখ্যা করবে এবং সেই অক্ষরকে আউটপুট দেবে ( কোনও স্থান পরে নয় ) output

পবিত্র মলে! আমরা আউটপুটে নাল বাইটগুলি পরিষ্কার করতে পারি। এর পরে, বৃহত্তর আসকি মানগুলি কীভাবে ইনপুট করা যায় এবং কোডটি পৃথকীকরণের জন্য এটি সমস্ত বিষয় ছিল। Befunge-98 একটি লাফ কোড ছিল ;এটা বলার উপর লাফালাফি করা [77*,68*,@মধ্যে ;[77*,68*,@;'1,'1,q, যা আমাদের পৃথকীকরণ দিলেন।

বেফঙ্গ -98 'পরবর্তী ক্যারেক্টারের এসকি কোড নেওয়ার জন্য একটি কমান্ডও ছিল ( )। সুতরাং, '1,অক্ষরের জন্য কোড asci কোড নেয় 1, এটি স্ট্যাকের উপর রাখে এবং তারপরে স্ট্যাকের শীর্ষ মানের জন্য ascii অক্ষর মুদ্রণ করে ,। ১১ টি মুদ্রণের জন্য কেবল এই দু'বার করতে হবে এবং গ্রেপ্তারভাবে ছাড়তে একটি ড্রপ করুন q

বেফঞ্জ যথাযথ কিছুটা কম সুবিধাজনক তবে কেবলমাত্র। এখানে স্ট্যাকের মধ্যে কাঙ্ক্ষিত কোডটি রাখার জন্য আমাদের একটি গণনা সম্পাদন করতে হবে। ভাগ্যক্রমে, আমাদের কোডগুলি একই আউটপুট কমান্ডের আগে খুব সহজেই 7 * 7 এবং 6 * 8 দিয়ে গুণিত হয় ,। তারপরে @তার বড় ভাইয়ের কোড আউটপুটটিকে দূষিত করার আগে আমরা তার সাথে বাফুঞ্জ ছেড়ে চলে যাই ।

Minkolang

বেফুঞ্জের চলমান জায়গাগুলির জন্য একটি সংশোধন করার পরে আমি একটি মিনকোল্যাং ফিক্স সন্ধান করার ধারণাটি সম্পর্কে যথেষ্ট সংবেদনশীল হয়ে উঠলাম এবং মিনকোলংয়ের ডকুমেন্টেশন বলেছে যে আউটপুট কমান্ডটি এই পয়েন্ট অবধি ব্যবহার করা হয়েছিল যা বেফুঞ্জ ইন্টারপ্রেটারের মতো কাজ করেছিল। Oঅন্য আউটপুট কমান্ড হিসাবে নথিভুক্ত হওয়ার ঘটনা ঘটেছে, যা এই বেগঞ্জ-নেস ভাগ করে নেওয়া হিসাবে বর্ণনা করা হয়নি, তাই আমি কেবল অন্ধকারে একটি শট নিয়েছি এবং স্ট্রিং আউটপুট দেওয়ার চেষ্টা করেছি "3"। নিশ্ছিদ্র বিজয়.

> <>

ন্যূনতম -2 ডি কোডটি সরানোর সময় আমি প্রথম যে জিনিসটির দিকে নজর দিয়েছিলাম তার মধ্যে একটি যাচাই করছিল যে আমি এর সাথে <> <> সরাতে পারি। আমি যদি 2 ডি বহুবিপ্লব ট্রান্সভার্সালিজমকে মোকাবেলা করতে যাচ্ছিলাম তবে আমি সমস্ত সীমালঙ্ঘনকে মোকাবেলা করতে যাচ্ছি। আমি মূলত ভাগ্য ;n4 1 লাইন শেষের দিকে রাখার সমাধানে আমার পথটি বরখাস্ত করে এবং \Dআরও পিছনে 1 লাইনে সরিয়ে নিয়েছি। বিটিডাব্লু, আমি জানতাম না যে> <> উত্তর 40 এর আগে নীচে পরিচালিত হতে পারে যেহেতু এটি এত ভালভাবে রয়েছে । আমি ভাবতে চাই যে এটি পরে অনুরূপ অন্য ভাষা থেকে> <> বিচ্যুত করতে ব্যবহার করা যেতে পারে।

Perl6

আমি <>এই উত্তরে অন্য কোথাও পার্ল's এর ভারসাম্যপূর্ণ সমস্যা নিয়ে কথা বলেছি , তাই আমি আর এটি নিয়ে যাব না। তবে আমি এটি উল্লেখ করতে চাই না যে আমি #>27.say#দ্বিতীয় থেকে শেষ লাইনে চলে এসেছি । এই উত্তরের কার্যকরী উদ্দেশ্য নেই। আমি আসলে এই পদক্ষেপটি একটি পৃথক উত্তর সন্তুষ্ট করার জন্য করেছি যা আমি এই রাউন্ডটি ব্যবহার না করে শেষ করেছি। আমি উত্তরটি আমার পরবর্তী সুযোগে পোস্ট করার পরিকল্পনা করার পরে আমি কেবল এটি ছেড়ে দেওয়ার সিদ্ধান্ত নিয়েছি এবং আমি এটি পূর্বাবস্থায় ফেরাতে এবং পুনরায় করার বিরক্ত করতে চাই না।

বাগ ফিক্স

05as1e

05as1e অবশ্যই নতুন বেগুন কোডটি পুরানো সংস্করণের মতো পছন্দ হয়নি। আমি মনে করি এটি ,কেবলমাত্র বিপ্লবী চরিত্রই revolutionary যে কোনও ইভেন্টে, "আক্রমণাত্মক কমান্ডগুলি লুকানোর জন্য আমাকে আরও পিছনে লাইনে "নিয়ে যেতে হয়েছিল এবং আমি জানতাম যে "উভয় ভাষায় হ্যাঁ-ওপেন হওয়ার কারণে বেফঞ্জ কোডের আগে যেতে হয়েছিল। (আমি ঠিক হ্যাঁ-অপের মতো শর্ত তৈরি করতে পারি?) লাইন 2 এর <দ্বি-মাত্রিকতাটি বেশ অনমনীয়, তবে আমি বেগুনজের কোড পাথের সাথে পূর্বেরটি প্রতিস্থাপন করতে সক্ষম হয়েছি "<তবে Perl6 একটি প্রয়োজন ছিল। (এটির <পূর্ববর্তী সমস্ত বিষয় থাকতে হবে >)) আমি <প্রবৃত্তি এবং পূর্বজ্ঞান দ্বারা 05ab1e এবং পার্ল 6 এর মতবিরোধের সমাধান করে একটি স্থানে লাইনটি ফেলে দিতে পেরেছিলাম।

দ্রুত আবর্তন

লাইফ 2-এ বেফুঞ্জের পরিবর্তনগুলি 1ঘটনা / ঘূর্ণি রেখার আগে বহুগ্লোটে একটি অতিরিক্ত যুক্ত করেছে । এই অতিরিক্তের 1ফলে ঘূর্ণি চাকাতে থাকা ভুল নির্দেশাবলীর দিকে ইঙ্গিত করে। 1সি / সি ++ এর প্রিপ্রোসেসর নির্দেশিকাতে প্রথমটি ছিল কোডে কেবল একটি লাইন নম্বর রেফারেন্স, এবং এটি ঠিক তত সহজেই অন্য কোনও লাইন নম্বর হতে পারে, তাই আমি 4এলোমেলোভাবে ঘূর্ণিটি সন্তুষ্ট করতে এটিকে পরিবর্তন করেছি ।

ঘটনা

বহুগ্লোটের শেষে ডিটোকেনাইজিং স্ট্রিংটি এই মুহুর্তে সুপরিচিত, সুতরাং আমি এটিতে যাব না। আমি যা করতে পারছিলাম সেগুলি থেকে সরিয়েছি এবং প্রয়োজনীয় নতুন টোকেন যুক্ত করেছি। এখানে 2 টি আলাদা আলাদা অক্ষর রয়েছে যা এই স্ট্রিংটিতে নেই যদিও আমার উল্লেখ করা উচিত। প্রথম, দ্বিতীয় Rমধ্যে #R+.----.R >]|এখানে প্রয়োজন হয় কারণ এটি একটি ফিউশন আদ্যস্থল, এবং এটি এই লাইন কারণ ইতিমধ্যে একই একটি ফিউশন আদ্যস্থল শিরোনাম ছিল নিরাপদ ছিল। দ্বিতীয়ত, x#= xএকটি টোকেন একটি জড়িত অপসারণ করা হয় ␉␊#প্যাটার্ন, যা আরো সাধারণ পরিণত হয়েছে।

অন্যরা

হেক্সাগনি, হোয়াইটস্পেস এবং প্রিলিউড সবার মধ্যে স্বাভাবিক গৌণ সামঞ্জস্য ছিল, তবে কথা বলার মতো বিশেষ কিছুই নেই।

সর্বশেষ ভাবনা

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


ঘটনায় ব্যর্থ (এটি মুদ্রণের 3333পরে ইনপুটটির জন্য অপেক্ষা করে), তবে সম্ভবত এটি সহজেই স্থিরযোগ্য। সমস্যা হল আপনি একটি টোকেন (স্থাপিত করেছি -]) পর^- টোকেন যা পূর্বে প্রোগ্রাম শেষ ঝাঁপ ব্যবহার করা হয়েছে। অন্যান্য দুটি ব্যবহার -]ক্রমাগত, যাতে এটি একটি… xx… x… প্যাটার্ন গঠন করে, যা পিছনের দিকে লাফিয়ে যায়। মুভিং যে স্থায়ী -]একটু আগে (অথবা ^_SA একটু পরে, অথবা উভয়), যদিও, মোটামুটি সহজ হতে পারে।

@ ais523 ধন্যবাদ এটি লেখার সময় গল্ফিংয়ের জন্য পাই। ঘটনা বাচ্চাদের চেক করতে সর্বদা মনে রাখবেন। ভাগ্যক্রমে আমি এটি বিয়োগ দ্বারা সংযোজন সহ ঠিক করতে সক্ষম হয়েছি, সুতরাং সামগ্রিক জয় আমার মনে হয়।
সম্ভাব্য

1
আপনি যদি -vভেরি দিয়ে (ভার্বোজের জন্য) চালনা করেন তবে আপনি এর সাথে একটি আক্ষরিক অব্যাহতি চরিত্রটি প্রতিস্থাপন করতে পারেন <esc>, যা ভবিষ্যতে কোডটির সাথে কাজ করা আরও সহজ করে তুলতে পারে। (আমার মনে হয়)
পাভেল

কি দারুন! অনুগ্রহ করার জন্য ধন্যবাদ @ ais523 সোমবার সকালে শুরু করার কী দুর্দান্ত উপায়!
সম্ভাব্য

বেফুঞ্জ -99 বেফুঞ্জ -৩৩ এর চেয়ে বেশি বয়সী?
ক্যালকুলেটরলাইন

17

183. ইন্টেল 8080 বুট চিত্র (জেমু), 9870 বাইট

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

ব্যাখ্যা

মেশিন কোড যুক্ত করার আইডিয়াটির জন্য আলু 44 এর জন্য ধন্যবাদ, এই উত্তরটি তৈরি করতে খুব মজা লাগল।

আমি সিপি / এম সিওএম ফাইলটি করিনি কারণ এটি বহুগ্লোটের আকার প্রায় 60KB এর মধ্যে সীমাবদ্ধ করে যা আমি এড়াতে চাই। সিএমএমের চেয়ে বুট চিত্রটি করা আরও সহজ হয়ে গেছে কারণ জেমু ইউটিউব ডিফল্টরূপে default ম সেক্টর থেকে বুট সেক্টর লোড করে (1-ভিত্তিক, 128 বাইট লজিক্যাল সেক্টর), সুতরাং বহুগ্লোটের শুরু কার্যকর করার দরকার নেই। বহুগ্লোটে বুট কোড অবশ্যই 0x280 ((6-1) * 128) এ থাকা উচিত।

আমি জেমু এমুলেটর ব্যবহার করি যা এই পৃষ্ঠা থেকে লিঙ্কযুক্ত । জেএমইউতে বহুবৃত্ত চালানোর জন্য:

  • ডিস্ক> এ: বহুভুজ ফাইল নির্বাচন করুন
  • বিকল্পগুলি> নির্দেশ সেট করুন I8080
  • বুট বোতাম টিপুন

ফাংশন যা কনসোল ( cns$ot) কে একটি চার্ট মুদ্রণ করে তা BIOS22Dv221.ASM থেকে জেমু বিতরণ থেকে অনুলিপি করা হয়েছিল। আমি দুটি পরিবর্তন করেছি: চরিত্রটি 7 বিট ASCII তে মুখোশযুক্ত নয় কারণ আমরা প্যারামিটারগুলি নিয়ন্ত্রণ করি এবং এর jrz cns$otসাথে প্রতিস্থাপন করা হয় jz cns$otকারণ jrz(শূন্যের তুলনায় লাফিয়ে পড়া) জিলোগ জেড 80 নির্দেশটি ইন্টেল 8080 তে উপস্থিত নেই।

প্রাথমিক প্রোগ্রাম ( ইন্টেল সিনট্যাক্স , এসেমব্লার এখান থেকে সংযুক্ত ):

    org 3120h    ; chosen so that cns$ot == 0x3131, easier to generate
                 ; this program will be generated at this offset
                 ; to run it directly specify org 0100h

    mvi c,31h    ; '1'
    call cns$ot
    mvi c,38h    ; '8'
    call cns$ot
    db 38h       ; for answer 188, NOP in I8080
    mvi c,33h    ; '3'
    call cns$ot
    hlt          ; halt processor

;;;;;;;;; copied from BIOS22Dv221.ASM
cno$sp equ 7dh
cno$sb equ 01h
cno$si equ 00h
cno$dp equ 7ch

; print char to console, receives char in c register
cns$ot:
    in cno$sp    ; in status
    xri cno$si   ; adjust polarity
    ani cno$sb   ; mask status bit
    jz cns$ot    ; repeat until ready
    mov a,c      ; get character in a
    out cno$dp   ; out character
    ret

এই প্রোগ্রামটিতে এমন অক্ষর রয়েছে যা সরাসরি বহুগ্লোতে ব্যবহার করা যায় না। সিমুলায় বেশিরভাগ এএসসিআইআই কন্ট্রোল অক্ষর (কোড <0x20) নিষিদ্ধ, অ-এসসিআইআই অক্ষর (কোড> = 0x80) একা উপস্থিত হতে পারে না কারণ ফাইলটি অবশ্যই বৈধ ইউটিএফ -8 হতে হবে। সুতরাং উপরের প্রোগ্রামটি অন্য একটি প্রোগ্রাম দ্বারা উত্পন্ন যা বৈধ ইউটিএফ -8।

নিম্নলিখিত প্রোগ্রামটি প্রয়োজনীয় কোড উত্পন্ন করে এবং এতে লাফ দেয়। ld (hl),aগ্রাস ( 'w'==0x77) এর কারণে ব্যবহার করা যাবে না । sub h(0x94) এবং xor a(0xAF) ইউটিএফ -8 ধারাবাহিকতা বাইট, সেগুলি অবশ্যই ইউটিএফ -8 লিড বাইট সহ প্রিপেন্ড করা উচিত। নির্দেশ ret nc(= 0xD0, বহন না করলে ফিরে আসা) ইউটিএফ -8 লিড বাইট হিসাবে ব্যবহৃত হয়। এটিকে কিছু না করার জন্য এটি scfনির্দেশের পূর্বে নয় (সেট বহন পতাকা)। এছাড়াও এড়ানো ','(0x2C) এবং '.'(0x2E) DOBELA জন্য। org 0100hনির্দেশিকা ব্যবহৃত হয় না কারণ ব্যবহৃত এসেম্ববলার এটি বুঝতে পারে না (org GUI তে সেট করা আছে)। এই প্রোগ্রামটি যাইহোক অবস্থান স্বাধীন। আমি জিলোগ স্মৃতিবিদ্যাগুলি বেশি পছন্দ করি, তাই আমি এগুলি দীর্ঘ প্রোগ্রামের জন্য ব্যবহার করি।

Zilog সিনট্যাক্স , প্রতীকী ভাষান্তর থেকে লিঙ্ক এখানে :

  ; generate: 0E 31 CD 31 31 0E 38 CD 31 31 38 0E 33 CD 31 31 76 DB 7D EE 00 E6 01 CA 31 31 79 D3 7C C9

  ld hl,3120h

  ld a,3Fh
  scf       ; set carry flag so that ret nc does nothing
  ret nc    ; utf8 lead byte for next insn
  sub h     ; a -= h; a = 0Eh;  utf8 cont byte (opcode 0x94)
  ld c,a

  ld (hl),c ; 0Eh    ; not using ld (hl),a because it is 'w'
  inc hl

  ld (hl),h ; 31h
  inc hl

  ld a,32h
  cpl       ; a = ~a; a = 0xCD
  ld d,a
  ld (hl),d ; CDh
  inc hl

  ld (hl),h ; 31h
  inc hl
  ld (hl),h ; 31h
  inc hl

  ld (hl),c ; 0Eh
  inc hl
  ld (hl),38h ; 38h
  inc hl

  ld (hl),d ; CDh
  inc hl
  ld (hl),h ; 31h
  inc hl
  ld (hl),h ; 31h
  inc hl

  ld (hl),38h ; 38h
  inc hl

  ld (hl),c ; 0Eh
  inc hl
  ld (hl),33h ; 33h
  inc hl

  ld (hl),d ; CDh
  inc hl
  ld (hl),h ; 31h
  inc hl
  ld (hl),h ; 31h
  inc hl

  ld (hl),76h ; 76h
  inc hl

  ld a,23h  ; not using ld a,24h because it has '$' (breaks SNUSP)
  inc a
  cpl       ; a = ~a; a = 0xDB
  ld d,a
  ld (hl),d ; DBh
  inc hl

  ld (hl),7Dh ; 7Dh
  inc hl

  ld a,c    ; a = 0Eh
  cpl       ; a = F1h
  dec a
  dec a
  dec a     ; a = EEh
  ld d,a
  ld (hl),d ; EEh
  inc hl

  scf
  ret nc
  xor a     ; a ^= a; a = 0; utf8 cont byte
  ld c,a
  ld (hl),c ; 00h
  inc hl

  ld a,4Ah
  scf
  ret nc
  sub h     ; a -= h; a = 0x19;  utf8 cont byte
  cpl       ; a = ~a; a = 0xE6
  ld d,a
  ld (hl),d ; E6h
  inc hl

  ld a,c
  inc a
  ld d,a
  ld (hl),d ; 01h
  inc hl

  ld a,35h
  cpl       ; a = 0xCA
  ld d,a
  ld (hl),d ; CAh
  inc hl
  ld (hl),h ; 31h
  inc hl
  ld (hl),h ; 31h
  inc hl

  ld (hl),79h ; 79h
  inc hl

  ld a,2Dh  ; not using ld a,2Ch because it has ','
  dec a
  cpl       ; a = 0xD3
  ld d,a
  ld (hl),d ; D3h
  inc hl

  ld (hl),7Ch ; 7Ch
  inc hl

  ld a,36h
  cpl       ; a = 0xC9
  ld d,a
  ld (hl),d ; C9h

  ld sp,3232h  ; set up stack for generated program

  ld hl,3120h  ; not using ld l,20h because it has '.'
  jp (hl)      ; go to generated program 
               ; confusing mnemonic - actually it is jp hl, ie. PC = HL
               ; opcode 0xE9, utf8 lead byte (0xE9 = 0b11101001), must be followed by 2 cont bytes
  db 80h,80h

এই প্রোগ্রামটি এতে একত্রিত হয়েছে:

! 1>?7ДOq#t#>2/Wr#t#t#q#68#r#t#t#68#q#63#r#t#t#6v#>#</Wr#6}#y/===Wr#7ЯOq#>J7Д/Wr#y<Wr#>5/Wr#t#t#6y#>-=/Wr#6|#>6/Wr122! 1退

এটি বহুবৃত্তে 0x280 অফসেটে থাকতে হবে (লাইন 2 দেখুন)। পরীক্ষার অ্যাবস্ট্রাকশন টেস্ট ড্রাইভার এটি পরীক্ষা করে।

Refactorings

শেল

শেলগুলি দীর্ঘতম লাইনে ফিরে গেছে। আমি এই লেআউটটি বেশি পছন্দ করি কারণ প্যারেনরা অন্যান্য ল্যাংগুলির সাথে একত্রিত হয় না। শাঁসের আগে মুরহেন্সেস এবং ফ্লাক্স সরানো হয়েছে, যাতে শাঁসগুলি পরিবর্তিত হয়ে গেলে সেগুলি ভেঙে যায় না। দীর্ঘতম লাইনে এখন এই বিন্যাসটি রয়েছে:

Grass  Moorhenses  Flaks  Shells  Rubies/Pythons/Perl5  PicoLisp  Prelude  Klein001

নতুন শেল কোড:

a=$(printf \\x00)
b=$(echo -n $a | wc -c)
case $b[1] in 1*)echo 54;; 4*)echo 78;; 8*)echo 166;; *1*)echo 50;; *)echo 58;; esac
exit

পুরানো শেলস কোড:

a=$(printf \\x00)
b=${#a}
case "{"$ar[1]"}"${b} in *1)echo 54;; *4)echo $((19629227668178112600/ 118248359446856100));; *1*)echo 50;; *)echo 58;; esac
exit

দৈর্ঘ্য এখন ( এখানে থেকে ) $aগণনা করা হয় । প্রথমদিকে আমি এটিকে পরিত্রাণ পেতে ব্যবহার করেছিলাম , তবে এখন এটি সংক্ষিপ্ত কোডের কারণে ব্যবহৃত হয়। শেলগুলি ধারণ করতে পারে কারণ শাঁসের আগে ফ্লাক্স থাকে ।$(echo -n $a | wc -c)##

যশ (166) বিল্ট-ইন ইকো কমান্ড ব্যবহার করে যা ডিফল্টরূপে বিকল্পগুলিকে সমর্থন করে না, সুতরাং "-n" এবং লাইনফিডটি আউটপুটটির অংশ হয়ে যায়, যা অতিরিক্ত 4 বাইট দেয়। যখন ECHO_STYLEডিফল্ট সেট না করা হয় SYSV( -nবিকল্প গ্রহণ করা হয় না)।

এই টিআইও লিঙ্কটি সমস্ত শেলগুলিতে কোড পরীক্ষা করে।

(((((শেলসের আগে অতিরিক্ত অতিরিক্ত আন্ডারলোড এবং রেটিনা স্থির করে। 58প্রিলিউড থেকে লুকানোর জন্য আরও এক জোড়া পেরেন যুক্ত করা হয়েছে ( #)পরে সহ বন্ধ exit)। {এর আগে ((((((জাপ্টের জন্য, এটি ছাড়া জপ ঝুলছে।

Flaks

ফ্লাক্সের স্থানান্তরের কারণে কোডের সূচনা কোড সরল করা যায় - কেবল ([])বাকি রয়েছে:

     line 21      (Grass(([5]{})))    scripting langs                  clear stack     Flaks main code                                                                                      begin skip code      the rest of polyglot   end skip code   print(85)
old: []{}[][][]   ((([]{})))          ((()()<<()>>)((()([])))<<()>>)   {}{}{}{}{}{}{}  ({}<(((((()()())){}{})){}{})>)(({})){}{(<(<()>)({})({}<{}>({}){})>){({}[()])}}({}){}({}()<()()()>)   (<><()>){({}[()])}{           ...           }{}<>              ()
new: []{}[][][]     ([]  )                                                             ({}<(((((()()())){}{})){}{})>)(({})){}{(<(<()>)({})({}<{}>({}){})>){({}[()])}}({}){}({}()<()()()>)   (<><()>){({}[()])}{           ...           }{}<>              ()

এই টিআইও লিঙ্কটি সমস্ত ফ্লাক্সে কোড পরীক্ষা করে।

বিভাজন এবং কার্ডিনাল

বিদারণ LNUSP স্থানান্তরিত করা হয়েছিল: R"12"R _*। দ্বিতীয় পয়েন্টারটি যত তাড়াতাড়ি সম্ভব ফিশনটি শেষ করতে ব্যবহৃত হয় - তৃতীয় ধাপে, আরও তথ্যের জন্য উত্তর 54 দেখুন।

অঙ্কবাচক LNUSP স্থানান্তরিত করা হয়েছিল: @ %"18"। ফিশনের মতো, দ্বিতীয় পয়েন্টারটি যত তাড়াতাড়ি সম্ভব কার্ডিনালটি শেষ করতে ব্যবহৃত হয় - তৃতীয় ধাপে।

MarioLANG

প্ল্যাটফর্ম হিসাবে ####...পরিবর্তে ব্যবহার করুন ====...:

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

সংক্ষিপ্ত-2D

মারিওল্যাং-এর সাথে বহুবৃত্ত:

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

জঞ্জাল & 1L_a

Wierd: আইপি প্রতিবিম্বিত করতে 10 কলাম 79 লাইনে স্পেস ব্যবহার করুন।
1 এল_এ, ওয়েয়ার্ড: 9 কলামের 79 কলামে স্থানটি গুরুত্বপূর্ণ।

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

Cubically

নতুন কোড: :1*23!/5x%6E0

:1*23!/5x%6E0
! - skip over / in Klein 201
x - destroy Cardinal pointer before it hits /

pure:
:1*23/5%6E0

faceval:
0 0
1 9
2 18
3 27
4 36
5 45

program:
:1   mem = 9
*23  mem *= 18; mem *= 27
/5   mem /= 45
%6   print mem
E0   exit

9*18*27/45 == 97 (integer division)

6 in %6 is used to print mem because 0-5 are used to print faceval (eg. %3 prints 27)
0 in E0 is not an exit code, it is present just to trigger E instruction

ক্লিন 201/100

নতুন কোড: !|*****[[[828+*+@+*99]]]*****|!

সমস্ত গুণের পরেও একটি একক শূন্য থাকে কারণ খালি স্ট্যাক থেকে পপিং শূন্য দেয়। এই শূন্যটি +পরের সাথে প্রধান সংখ্যায় যুক্ত করা হয় @। আগে এটি দিয়ে বাতিল করা হয়েছিল ?, ক্লিন 001 উত্তর দেখুন

ক্লিনে দরজাগুলি কীভাবে কাজ করে:

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

দ্রুত আবর্তন

ঘূর্ণি কোডটি মূলত একই, প্রধান পরিবর্তনটি হ'ল বর্তমান অপারেশনটি ops.one (2), অপস.লোড (4) নয়।

কার্যকরভাবে ঘূর্ণি 3 টি অপারেশন হিসাবে মনে করা যেতে পারে:

  • 1 এক ধাপ ঘোরান
  • 0 ঘোরার দিক পরিবর্তন করুন
  • 00 বর্তমান নির্দেশ এবং সুইচ রিং কার্যকর করুন

প্রোগ্রাম সম্পর্কে যুক্তি সহজ করার জন্য সম্মিলিত অপারেশন:

  • 0000 যদি নিষ্ক্রিয় রিংয়ের বর্তমান অপশনটি নুপ হয় তবে কেবল কোনও পার্শ্ব প্রতিক্রিয়া ছাড়াই সক্রিয় রিংয়ের বর্তমান অপটিকে কার্যকর করুন
  • 11..11 n পদক্ষেপগুলি ঘোরান
  • 011..11 দিক পরিবর্তন করুন এবং n পদক্ষেপগুলি ঘোরান

0000সক্রিয় রিংয়ের বর্তমান নির্দেশ কার্যকর করে, তবে পার্শ্ব প্রতিক্রিয়া হিসাবে নিষ্ক্রিয় রিংয়ের বর্তমান নির্দেশকেও কার্যকর করে। যদি নিষ্ক্রিয় রিংয়ের বর্তমান নির্দেশ নির্দোষ হয় তবে আমরা কেবল নিষ্ক্রিয় রিংয়ের সাথে কী ঘটছে তা ভেবেই সক্রিয় রিংয়ের ক্রিয়াকলাপগুলিতে ফোকাস করতে পারি। এটি বিশেষত এই প্রোগ্রামটির সাথে দরকারী কারণ এর স্পষ্ট বিভাজন রয়েছে: প্রথমে 32 নম্বরটি কেবল গণিতের রিং ব্যবহার করে তৈরি করা হয় এবং তারপরে আমরা অপস রিংয়ে স্যুইচ করি এবং সেখানে 2 নির্দেশাবলী কার্যকর করি (মুদ্রণ এবং প্রস্থান করুন)।

প্রথমে আমি চেয়েছিলাম যখন প্রধান কোডটি কার্যকর করা শুরু হয় তখন অপস রিংয়ের বর্তমান অপারেশনটি নূপ হতে হবে। এর 2 টি সুবিধা রয়েছে: 1) মূল ঘূর্ণিত কোডটি স্ট্যান্ডলোন এবং দ্বিতীয়টি কার্যকর করা যায় 2) গণিতের রিং দিয়ে 32 নম্বর তৈরি করার সময় আমরা পুরোপুরি অপস রিং সম্পর্কে ভুলে যেতে পারি। তবে এটি কোডটি তার চেয়ে দীর্ঘতর করে তোলে, সুতরাং এর পরিবর্তে মূল কোডটি ধরে নিয়েছে যে বর্তমান অপারেশনটি ops.one (2)। এর অর্থ হল গণিত ক্রিয়াকলাপের পার্শ্ব প্রতিক্রিয়া হিসাবে ops.value 1 তে সেট করা আছে, যা পরে মুদ্রণের জন্য ব্যবহৃত হয়। ওপস.লোড নির্দেশের সাহায্যে ওল্ড কোড একই প্রভাব অর্জন করেছে, তবে অপস.অন ব্যবহার করে আরও স্পষ্টভাবে অভিপ্রায় প্রকাশ করে - ননজারোতে ops.value সেট করতে।

at this point current ring is ops, dir = clockwise, cur op = ops.one
00    switch to math ring
011   rotate to math.not
0000  math.not (math.val = 1)
01111 rotate to math.store
0000  math.store (mem[0] = 1)
1     rotate to math.add
0000  math.add (math.val = 2)
01    rotate to math.store
0000  math.store (mem[0] = 2)
011   rotate to math.mult
0000  math.mult (math.val = 4)
0000  math.mult (math.val = 8)
0000  math.mult (math.val = 16)
0000  math.mult (math.val = 32)
011   rotate to math.store
00    math.store (mem[0] = 32), switch to ops ring
up to this point the program is the same as before

01111 rotate to ops.intio
0000  ops.intio - print mem[0] as number
0111  rotate to ops.exit
00    ops.exit

নতুন কোডটি সংক্ষিপ্ত কারণ পুরাতন কোডটিতে প্রোগ্রামের দ্বিতীয় অংশে বেশ কয়েকটি রিডানডেন্ট দিকনির্দেশ রয়েছে, নতুন অনুমানের কারণে নয়।

old: (1111) 00011000001111000010000010000011000000000000000001100 01111110000011100
new: (11)   00011000001111000010000010000011000000000000000001100   011110000011100

ঘটনা / ঘূর্ণি রেখার আগে কিছু পরিবর্তন করার সময় ঘূর্ণি কীভাবে সঠিক রাখবেন:

  • 0প্রধান ঘূর্ণিত কোডের আগেও এর সংখ্যা রয়েছে তা নিশ্চিত করুন
  • নিশ্চিত কোন দুটি পরপর আছে 0গুলি
  • 1ঘূর্ণি আবার কাজ না করা পর্যন্ত যথেষ্ট পরিমাণে যুক্ত / সরান ; এন 1এস যোগ করা 12-n 1গুলি এবং এর বিপরীতে অপসারণের সমতুল্য

আমি অজান্তে প্রথম নিয়মটি ভঙ্গ করেছি যখন রপি যুক্ত হয়েছিল। যখন বিজোড় সংখ্যক 0প্রধান কোড থাকে তখন অপস রিংয়ের ভুল দিক দিয়ে কার্যকর করা শুরু করে যা প্রস্থান নির্দেশকে বিরতি দেয়। সুতরাং এখন 0লাইন 3 এ আছে যা 0লাইন 1 এ ক্ষতিপূরণ দেয়।

অন্যরা

CoffeeScript : console.log a&&39||180(থেকে এখানে )

INTERCAL : লাইন 37 সরানো
Brainfuck , যন্ত্রণা : লাইন 10 অন্যান্য brainfuck ডেরাইভেটিভস সরানো

xEec : 1L_a ( h#115# o#) এ সরানো হয়েছে

সিএসএল : ৮০ টি
ট্রাইফঞ্জ লাইনে স্থানান্তরিত হয়েছে : 120
গাওট ++ , স্টোনস : লাইনটিতে সরানো হয়েছে পৃথক লাইনে


4
ভাল, এটি গল্ফ বন্ধ অনেক বাইট।
আলু 44

16

16. পাইথ (159 বাইট)

#v\;2^0\;7||"<+0+0+0+<*!2'!1'L#'1r'4;n4
#v0#_q@
#>3N.15o|1
#|\w*
#8  ^<1b0 <
#|
#M`
print ((0 and'13')or(None and 9 or 1/2 and 1 or 5))
#"07|5//00;16 "jd5ki2

দ্রষ্টব্য: তৃতীয় লাইনের পরে এবং শেষ লাইনে একটি ESCবাইট রয়েছে ( 0x1B)oj

এটি বেশ মজার অভিজ্ঞতা ছিল। জাপট এবং পাইথ উভয়ই গোল্ফ ভাষা, তবে জাপট ইনফিক্স এবং পাইথ উপসর্গ, এবং পাইথ স্বতঃ-অনুরোধ ইনপুট এবং যদি যুক্তি অনুপস্থিত থাকে তবে ব্যর্থ হয়।

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

আমি যখন বাড়িতে //পৌঁছেছি তখন কোডের এই টুকরোটি সন্ধান করতে পেরেছি যা উভয়টি ব্যবহার করেই কাজ করেছিল যা জাপটে একটি মন্তব্য এবং পাইথের দুটি বিভাগ হিসাবে কাজ করে। তারপরে বেফুঙ্গেসকে সঠিকভাবে রুটে আনার বিষয়টি ছিল কেবল।

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

ছাপে পাইথন 3 জনের মধ্যে 1 , ভী 2 , Minkolang 3 , 4> <> , 5 পাইথন 2 , 6 স্ব-পরিবর্তন Brainfuck মধ্যে , Japt 7 , অক্ষিপট 8 , পার্ল 9 , Befunge (10 -93 ) , Befunge-98 11 , বিদারণ 12 , রুবি 13 , Turtléd 14 , 15 খড়ের গাদা মধ্যে , এবং

পাইথের মধ্যে 16

ব্যাখ্যা

পাইথ এখানে যা দেখেছে তা হ'ল:

#v\;2^0\;7||"string
multiline
string"07|5//00;16 "string

এটি নিম্নলিখিত সিউডোকোডে অনুবাদ করে:

while no errors occur:
    evaluate ";"
    print 2
    print 0 to the power ";"
    print 7
    print "string\nmultiline\nstring" or 0 or 7
    print 5 or 0 divided by 0 divided by (missing)
print 16
do nothing with "string"

প্রথম লুপটি মূল্যায়নের চেষ্টা করে ;যা কোন বৈধ এক্সপ্রেশন নয়। তারপরে পাইথ স্রেফ প্রিন্ট করে 16


কীভাবে প্রসারিত? আমার উত্তরের জন্য এখনও আমার আরও 5 বা তার বেশি বাইট দরকার;)
অ্যালফি গুডাক্রে

পোস্টে বাকি বিশদ যুক্ত করে অ্যালফিগুডাক্রে আমি কেবল বুদ্ধিমান থাকতে চেয়েছিলাম এবং এভাবে কেউ আমার জায়গা চুরি করার আগে আমার কোড পোস্ট করেছিল। : ডি
পূর্কাকুডারী
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.