ক্লাস্টারের আকার কাটিয়ে উঠছে


37

ফ্ল্যাশ স্টোরেজটির নির্ভরযোগ্যতার দ্বারা বিরক্ত হয়ে আপনি আপনার সমস্ত প্রোগ্রাম সেই ভাল পুরানো 1,440 কিবি ফ্লপির মধ্যে একটিতে সংরক্ষণের সিদ্ধান্ত নিয়েছেন। তবে 3,000 টি প্রোগ্রামও অনুলিপি করার পরে, ডিস্কটি পূর্ণ ছিল। এটা কীভাবে সম্ভব? আপনার মতো কোড গল্ফের শিল্পে দক্ষ, আপনার বেশিরভাগ প্রোগ্রামগুলি 100 বাইটও দীর্ঘ নয়, তাই প্রচুর ঘর বাকি থাকতে হবে ...

সুপার ইউজারে এটি সম্পর্কে জিজ্ঞাসা করার পরে, আপনি আবিষ্কার করেছেন যে আপনি ফাইল সিস্টেমের ক্লাস্টার আকার , FAT12 এর ডিজাইনারদের একটি দুষ্ট চক্রান্ত যা আপনার ফ্লপিটির একটি উল্লেখযোগ্য অংশ অব্যবহৃত রেখেছিল এবং আপনাকে আসলে প্রয়োজনের চেয়ে বেশি কিনতে বাধ্য করে forces

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

কার্য

একটি বহুবৃত্ত লিখুন যা একটি একক ক্লাস্টারে ফিট হয় (512 বাইট বা তার চেয়ে কম) এবং নিম্নলিখিত নিম্নলিখিত কাজগুলি যতটা সম্ভব সমাধান করে।

  1. সমস্ত ইনপুট পড়ুন এবং এটি মুদ্রণ করুন।

  2. হ্যালো, বিশ্ব প্রিন্ট !

  3. ইনপুট হিসাবে একটি লাইন / যুক্তি ( নাম ) পড়ুন এবং শুভ জন্মদিনের মুদ্রণ করুন , [নাম]!

  4. সমস্ত ইনপুট পড়ুন এবং মুদ্রণ আমি ট্যাব পছন্দ! যদি এতে এক বা একাধিক ট্যাবলেটর থাকে (0x09) এবং আমি স্পেসগুলি ঘৃণা করি! যদি এটি না হয়।

  5. দুটি লাইন / আর্গুমেন্ট পড়ুন এবং দ্বিতীয়টি প্রথমটির একটি সাবস্ট্রিং এবং মিথ্যা মান না থাকলে একটি সত্যবাদী মান মুদ্রণ করুন।

  6. একটি লাইন / যুক্তি পড়ুন এবং সত্যবাদী মান মুদ্রণ করুন যদি এর অক্ষরগুলি কঠোরভাবে আরোহী ক্রমে থাকে এবং জাল মান না হয়।

  7. একটি লাইন / আর্গুমেন্ট এবং একটি অক্ষর পড়ুন এবং সেই চরিত্রের সমস্ত উপস্থিতির সূচিপত্রগুলি মুদ্রণ করুন।

  8. একটি লাইন / যুক্তি পড়ুন এবং সর্বাধিক সংখ্যক উপস্থিতি সহ যে কোনও অক্ষর মুদ্রণ করুন।

  1. 0 থেকে 255 এর মধ্যে দুটি পূর্ণসংখ্যা পড়ুন এবং তাদের যোগফল মুদ্রণ করুন।

  2. 0 এবং 255 এর মধ্যে একটি একক পূর্ণসংখ্যা পড়ুন এবং এর বিভাগের ভাগফল এবং অবশিষ্টাংশগুলি 7 দ্বারা মুদ্রণ করুন ।

  3. 1 এবং 255 এর মধ্যে একটি একক পূর্ণসংখ্যা পড়ুন এবং একটি সংশ্লেষ সংখ্যা (1 বা প্রধান নয়) এবং মিথ্যা মান না হলে সত্যবাদী মানটি মুদ্রণ করুন।

  4. 1 এবং 255 এর মধ্যে একটি একক পূর্ণসংখ্যা পড়ুন এবং 2 এর শক্তি এবং মিথ্যা মান না হলে সত্যবাদী মানটি মুদ্রণ করুন।

  5. 0 থেকে 255 এর মধ্যে দুটি পূর্ণসংখ্যা পড়ুন এবং বড়টি মুদ্রণ করুন।

  6. 0 এবং 255 এর মধ্যে দশমিক পূর্ণসংখ্যা পড়ুন এর হেক্সাডেসিমাল উপস্থাপনা মুদ্রণ করুন।

  7. 0 এবং 255 এর মধ্যে একটি একক পূর্ণসংখ্যা পড়ুন এবং এর হামিং ওজন (1-বিটের সংখ্যা) মুদ্রণ করুন।

  8. 1 এবং 13 এর মধ্যে একটি একক পূর্ণসংখ্যা n পড়ুন এবং এফ এন , এন থ্রি ফিবোনাচি নম্বর প্রিন্ট করুন ।

    উদাহরণস্বরূপ, ইনপুটটির জন্য 13, মুদ্রণ করুন 233

  1. ইনপুটটির একটি লাইন / যুক্তি পড়ুন এবং এটি ফ্রেম করুন।

    উদাহরণস্বরূপ, ইনপুটটির জন্য Programming Puzzles & Code Golf, এটি মুদ্রণ করুন:

    +---------------------------------+
    | Programming Puzzles & Code Golf |
    +---------------------------------+
    
  2. অক্ষরের একটি আয়তক্ষেত্রাকার ব্লক পড়ুন এবং এটিকে ঘড়ির কাঁটার দিকে চতুর্থাংশ ঘোরান।

    উদাহরণস্বরূপ, ইনপুট জন্য

    tye
    xll
    epb
    tma
     id
     sa
    s e
    i r
    hsn
    Tiu
    

    এটি মুদ্রণ:

    This  text
    is  simply
    unreadable
    
  3. 1 থেকে 40 এর মধ্যে একটি পূর্ণসংখ্যা পড়ুন এবং পাশের দৈর্ঘ্যের একটি হীরা প্রিন্ট করুন।

    উদাহরণস্বরূপ, ইনপুটটির জন্য 3, এটি মুদ্রণ করুন:

      /\
     /  \
    /    \
    \    /
     \  /
      \/
    
  4. এটি মুদ্রণ:

    ....@@@@....@@@@....@@@@....@@@@
    ....@@@@....@@@@....@@@@....@@@@
    ....@@@@....@@@@....@@@@....@@@@
    @@@@....@@@@....@@@@....@@@@....
    @@@@....@@@@....@@@@....@@@@....
    @@@@....@@@@....@@@@....@@@@....
    ....@@@@....@@@@....@@@@....@@@@
    ....@@@@....@@@@....@@@@....@@@@
    ....@@@@....@@@@....@@@@....@@@@
    @@@@....@@@@....@@@@....@@@@....
    @@@@....@@@@....@@@@....@@@@....
    @@@@....@@@@....@@@@....@@@@....
    ....@@@@....@@@@....@@@@....@@@@
    ....@@@@....@@@@....@@@@....@@@@
    ....@@@@....@@@@....@@@@....@@@@
    @@@@....@@@@....@@@@....@@@@....
    @@@@....@@@@....@@@@....@@@@....
    @@@@....@@@@....@@@@....@@@@....
    ....@@@@....@@@@....@@@@....@@@@
    ....@@@@....@@@@....@@@@....@@@@
    ....@@@@....@@@@....@@@@....@@@@
    @@@@....@@@@....@@@@....@@@@....
    @@@@....@@@@....@@@@....@@@@....
    @@@@....@@@@....@@@@....@@@@....
    

স্কোরিং

যে উত্তরটি একটি একক ফাইলে সর্বাধিক সংখ্যক প্রোগ্রাম অন্তর্ভুক্ত করে যা একক 512-বাইট ক্লাস্টার জয়ের সাথে খাপ খায়। বন্ধনগুলি বাইট গণনা দ্বারা ভাঙ্গা হয় (কম ভাল হয়)।

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

  • আপনার স্কোরের জন্য দাবি করা প্রতিটি টাস্কের জন্য, একই ফাইলটি (বাইট প্রতি বাইট) অবশ্যই একটি সম্পূর্ণ প্রোগ্রাম গঠন করতে হবে - আপনার পছন্দের ভাষায় - যা এই নির্দিষ্ট কাজটি সমাধান করে।

  • প্রতিটি কাজ আলাদা ভাষায় সমাধান করতে হবে।

    ভাষাগুলি একই ভাষার ভিন্ন সংস্করণ না হলে আলাদা হিসাবে গণনা করা হয়। উদাহরণস্বরূপ, কেবল একটি জাভাস্ক্রিপ্ট, একটি পাইথন এবং একটি টিআই-বেসিক রয়েছে তবে সি, সি ++, অক্টাভা এবং ম্যাটল্যাব চারটি ভিন্ন ভাষা।

  • প্রতিটি কাজের জন্য নির্বাচিত ভাষায় প্রোগ্রামিং ভাষার আমাদের সাধারণ সংজ্ঞাটি পূরণ করতে হয় ।

    এছাড়াও, ভাষাটি অবশ্যই 9 ই সেপ্টেম্বর, 2015 এর আগে প্রকাশিত এবং প্রয়োগ করা হয়েছে implemented

  • আপনার সংকলক / দোভাষীর প্রত্যাশিত আচরণটি তৈরি করতে কোনও মানহীন পতাকা লাগবে না।

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

  • প্রতিটি কাজের ইনপুটটিতে প্রিন্টযোগ্য এএসসিআইআই অক্ষর (0x20 থেকে 0x7E) এবং লাইনফিডস (0x0A) থাকবে এবং এটি দৈর্ঘ্যে 255 বাইটের বেশি হবে না ।

  • সমস্ত সংখ্যার দশমিক বা অবিচ্ছিন্নভাবে পড়া যায়, যদি না অন্যথায় টাস্কে না বলা হয়।

  • অবৈধ ইনপুট জন্য আচরণ অপরিজ্ঞাত।

  • আপনি এসটিডিআইএন (বা এর নিকটতম বিকল্প) থেকে বা কমান্ড-লাইন আর্গুমেন্ট হিসাবে ইনপুট পড়তে পারেন।

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

    যদি ইনপুট পিসগুলির মধ্যে একটি লাইন হয় তবে একমাত্র সম্ভাব্য ডিলিমিটারটি লাইনফিড।

  • STDOUT (অথবা নিকটতম বিকল্প) এ আউটপুট প্রিন্ট করুন। STDERR এ সমস্ত আউটপুট উপেক্ষা করা হবে।

  • প্রতিটি কাজের জন্য, স্ট্যান্ডার্ড বিধি প্রযোজ্য।

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


1
জাভা স্ক্রিপ্ট এবং কফিস্ক্রিপ্ট কি আলাদা আলাদা ভাষা হিসাবে বিবেচিত হবে?
ডাউনগোট

হ্যাঁ, যারা পৃথক হিসাবে গণনা।
ডেনিস

17
আপনার চ্যালেঞ্জ # 4 হ'ল বাজে>>:
ডোরকনব

উদ্ধৃতি: এসটিডিআরআরে সমস্ত আউটপুট উপেক্ষা করা হবে। এর অর্থ কি এই যে আমরা যখন স্ক্রিপ্ট / প্রোগ্রামটি কল করি 2>/dev/nullএবং সঠিক আউটপুটটি স্টডআউটে পাই, ঠিক আছে? নিশ্চিত হবার জন্য.
Cabbie407

2
@ Cabbie407 অবিকল প্রতি মেটা উপর ঐক্যমত্য এই নিয়ম আসলে ডিফল্ট দ্বারা প্রযোজ্য সব চ্যালেঞ্জ। আমি কেবল এটি নিশ্চিত করতে চেয়েছিলাম যে প্রত্যেকে এটি সম্পর্কে সচেতন ছিল।
ডেনিস

উত্তর:


17

12 টি ভাষা, 418 বাইট

"1\"# &&+.@\""" "" "
#=
''''
<<s
""'("']0=~2base{+}*}
 ?
 :_7/!\_7%!@
"
R"Happy Birthday, "[?S"!"*"
>0[0>i:0(?v:{)?v0n;\!/
$'main';n1< .95<
 \@-[I love tabs!]o#
  \ >qi---@
( @-[ ]e<''';print hex(
input())#-[I hate spaces!]o#"]];ri:X{_~X+S*'/@S*_'\4$N}%_sW%1>"))?(!?)
'''=#print(([1 1;1 0]^int(readline()))[1,2])
#=
Tr is here.
>Tr, Hello, World!
>X Tr
s
l=gets
a='+-'+?-*~/$/+'-+'
puts a+'
| %s |
'%l+a#=#.91<0#'''#";

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

2 ডি ভাষার কৃত্রিম ব্যবহার করে। মনে রাখবেন যে, মধ্যে উপর গৃহস্থালির কাজ [ ]উপর @-[ ]e<লাইন একটি ট্যাব আছে। এছাড়াও, এটি \nট্রান্সক্রিপ্ট কাজ করতে লাইন শেষ প্রয়োজন ।

উপস্থাপন করুন (টাস্ক 1 / বিড়াল)

( 
      )?(!?)

?(!?),[.,]বিএফ-এ কেবল একটি সরাসরি অনুবাদ । প্রিলেলড ()লুপগুলি বিএফ []লুপের মতো কাজ করে , সুতরাং মূল প্রোগ্রামটি নির্বিঘ্নিত হওয়ার আগে বাম দিকের (কলামের মধ্যে থেকে সমস্ত কিছু )

প্রিলিউডের বাক্য গঠন নিয়মের মানে হল যে বন্ধনীগুলি মেলাতে হবে (বাম থেকে ডান কলাম অনুসারে পাঠ করা) এবং প্রতি কলামে কেবল একটি প্রথম বন্ধনী থাকতে পারে। এটি বাদে এটি ফিট করার জন্য বেশ সহজ ভাষা।

আপনি পাইথন ইন্টারপ্রেটার ব্যবহার করছেন কিনা NUMERIC_OUTPUTতা নিশ্চিত হয়ে নিন False

ট্রান্সক্রিপ্ট (টাস্ক 2 / হ্যালো ওয়ার্ল্ড)

Tr is here.
>Tr, Hello, World!
>X Tr

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

Tr is here.একটি Trস্ট্রিং ভেরিয়েবল ঘোষণা করে এবং দ্বিতীয় লাইনটি ভেরিয়েবলের বিষয়বস্তুগুলিকে সেট করে Hello, World!X Tr( Xপরীক্ষার জন্য) তারপরে স্ট্রিং আউটপুট করে।

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

বিচ্ছেদ (কার্য 3 / জন্মদিনের বার্তা)

R"Happy Birthday, "[?S"!"*
                   \!/

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

রেল (কাজ 4 / ট্যাবগুলি)

$'main'
 \@-[I love tabs!]o#
  \ >qi---@
  @-[ ]e<
         -[I hate spaces!]o#

ফিশনের মতো, রেল একটি 2 ডি ভাষা যা কোথাও স্থানান্তরিত করতে সক্ষম হওয়ার সুবিধা রয়েছে। $সম্পাদনা mainদক্ষিণ-পূর্ব দিকে ফাংশনটির মধ্য থেকে শুরু হয় ।

প্রথমে আমরা এসকে নীচে \নামি, বাম দিকে ঘুরব -, [<tab>]যা একটি ট্যাবকে ধাক্কা দেয় hit e<তারপরে ইওএফ-এর উপর ভিত্তি করে শাখাগুলি - যদি ইওএফ থাকে তবে আমরা থামার "I hate spaces!"আগে মাথা নীচু করে প্রিন্ট করি, অন্যথায় আমরা শীর্ষস্থানীয়। যদি আমরা উপরের দিকে চলে যাই তবে আমরা পরবর্তী চরটি পড়ি এবং এটি আবার ট্যাবটির সাথে তুলনা করি, আবার শাখাগুলি - যদি ট্যাব হয়, মাথা "I love tabs!"থামিয়ে থামার আগে মুদ্রণ করুন , অন্যথায় মাথা নীচু করুন এবং ইনপুট লুপটি চালিয়ে যান।

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

> <> (কার্য 6 / আরোহিত ইনপুট)

"1\"#      \""" "" "


>0[0>i:0(?v:{)?v0n;
       ;n1< .95<


        .91<

প্রিন্ট করুন 1যদি 0অন্যথায় কঠোরভাবে আরোহণ হয়।

> <> অন্য একটি 2 ডি ভাষা এবং উপরের বাম দিক থেকে সম্পাদন শুরু হয়। "..."স্ট্রিং মোড, একবারে অভ্যন্তরীণ অক্ষরকে একদিকে ঠেলে। আমরা আঘাত করা প্রথম স্ট্রিংয়ের পরে #, যা আইপি বাম দিকে \প্রতিবিম্বিত করে, আরও স্ট্রিং ঠেলে এবং চারপাশে মোড়ানো (> <> টোরয়েডাল) , একটি আয়না যা আমাদের উপরের দিকে প্রতিবিম্বিত করে।

প্রোগ্রামটির নীচে রয়েছে .91<, যা আমাদের টেলিপোর্ট করে (9, 1), যেখানে মূল প্রোগ্রামটি। 0[এটি স্ট্রিংগুলি থেকে সমস্ত আবর্জনা সরিয়ে দেওয়ার পরে , 0শেষ চরটি পড়ার উপস্থাপন করতে শূন্যের দিকে ঠেলে দেয় এবং এটির পরে এটি কেবল একবারে অক্ষর পড়ছে, তা নিশ্চিত করে আমরা এখনও আরোহণ করছি।

মূল প্রোগ্রামটি টেলিপোর্টিংয়ের পরিবর্তে সরিয়ে নেওয়া আরও ভাল, তবে আমি যদি প্রয়োজন হয় তবে পরে তা মোকাবিলা করব।

বেফুঞ্জ (টাস্ক 9 / সংযোজন)

"1\"# &&+.@

এখানে পাওয়া দোভাষীর সাথে পরীক্ষিত । এটি একটি দুর্দান্ত সোজা প্রোগ্রাম, শুরু করার সাথে সাথে একটি অকেজো স্ট্রিং ঠেলাঠেলি #করে এবং জায়গার উপরে ঝাঁপিয়ে পড়ে। এর পরে এটি কেবল মূল প্রোগ্রাম &&+.@

গোলকধাঁধা (টাস্ক 10 / Divmod 7 দ্বারা)

"1
 =
 '
 <
""'("']
 ?
 :_7/!\_7%!@

সুবিধামত 'এবং "এগুলি হ'ল লাইব্রের্থে এমন নওপস যা ধাঁধাঁ দিয়ে চলার পথে চলার মতো কাজ করে। আমি অগোছালো নেভিগেশন এড়িয়ে যাব, তবে মূলত আমাদের প্রচন্ড আঘাত হানার আগে প্রচুর বাঁক ঘুরে বেড়াতে থাকবে ?, যা মূল প্রোগ্রামের শুরু।

প্রিলিউডের জন্য অ্যাকাউন্টটি প্রোগ্রামটি বেশ ফ্লাশ নয় (উদাহরণস্বরূপ প্রিলিওডে ?রিড ইনপুট)।

পাইথন 2 (কার্য 14 / হেক্সাডেসিমাল)

"1\"# &&+.@\""" "" "
#=
''''
xxx
xxx''';print hex(
input())#xxx
'''
xxx
xxx'''#";

xxxগুলি একাধিক লাইন স্ট্রিং বা মন্তব্য করে মন্তব্য অপ্রাসঙ্গিক অংশ প্রতিনিধিত্ব করে। এর মধ্যে print hex(input()), মূল প্রগম am এটি একটি অগ্রণী সঙ্গে আউটপুট 0x, কিন্তু আমি ধরে নিচ্ছি যে এটি ঠিক আছে (যদি তা না হয় তবে এটি কোনও সহজ সমাধান)।

প্রথম লাইনটি একটি স্ট্রিং যার "1\"# &&+.@\""পরে দুটি " "এস s এই তিনটি স্ট্রিং পার্সার দ্বারা সংযুক্ত করা হয় এবং অব্যবহৃত অবস্থায় ছেড়ে যায় (এই প্রথম লাইনটি পরে রুবি এবং জুলিয়ার জন্য একইভাবে কাজ করে)।

গল্ফস্ক্রিপ্ট (কাজ 15 / হামিং ওজন)

"1\"# &&+.@\""" "" "
#=
''''
<<s
""'("']0=~2base{+}*}

প্রথম লাইনটি তিনটি স্ট্রিং পুশ করে এবং দ্বিতীয় লাইনটি একটি মন্তব্য। ''''আরও দুটি স্ট্রিং পুশ করে, তারপরে <<দুটি তুলনা করা হয় ( sউপেক্ষা করা হবে)। অবশেষে, ""'("'আরও দুটি স্ট্রিং পুশ করে।

এই সমস্ত আবর্জনা পরে এটিকে একটি অ্যারে মুড়িয়ে এবং প্রথম উপাদান ( ]0=) পেয়ে যা মুছে ফেলা হয় প্রথমে স্ট্যাকের ইনপুট। এরপরে আমরা ইনপুটটি মূল্যায়ন করি ~, বাইনারিতে পরিণত করি 2baseতার সাথে বিটগুলি যোগ করে {+}*। পরবর্তী }অপ্রতিম, এবং প্রোগ্রাম বাকি সুপার-মন্তব্য।

জুলিয়া (টাস্ক 16, ফিবোনাচি)

"1\"# &&+.@\""" "" "
#=
xxx
xxx=#print(([1 1;1 0]^int(readline()))[1,2])
#=
xxx
xxx=#.91<0#xxx

#=একটি মাল্টলাইন মন্তব্য শুরু করে এবং একটি বহুমুখী মন্তব্য =#শেষ করে। মূল প্রোগ্রামটি ফিবোনাচি সংখ্যা ( রোসটা থেকে নেওয়া ) গণনা করতে ম্যাট্রিক্স এক্সফেনসিয়েনশন ব্যবহার করে ।

রুবি (টাস্ক 17 / এএসসিআইআই ফ্রেম)

"1\"# &&+.@\""" "" "
#=
''''
<<s
xxx
s
l=gets
a='+-'+?-*~/$/+'-+'
puts a+'
| %s |
'%l+a#xxx

এই প্রোগ্রামটি ধরে নিয়েছে যে ইনপুটটি শেষের লাইনের সাথে শেষ হবে না।

আমাদের কাছে একটি অকেজো স্ট্রিং, একটি মন্তব্য, অন্য একটি অকেজো স্ট্রিং রয়েছে তারপরে হেরডোক যা বেশিরভাগ প্রোগ্রামটির মন্তব্য করে। এর পরে মূল প্রোগ্রামটি হবে, তার পরে একটি একক লাইনের #মন্তব্য হবে।

সিজেএম (কার্য 19 / ডায়মন্ড)

"1\"# &&+.@\""" "" "
#=
''''
<<s
""'("xxx
"
R"xxx"[?S"!"*"
xxx
xxx"ri:X{_~X+S*'/@S*_'\4$N}%_sW%1>"xxx
xxx
xxx";

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

ri:X{_~X+S*'/@S*_'\4$N}%_sW%1>

মাঝে.

গল্ফস্ক্রিপ্ট এবং সিজেমের মধ্যে মূল ডিফারেনেটরটি হ'ল, সিজেমে একটি একক উদ্ধৃতি 'স্ট্রিং শুরু এবং শেষ হয় না, পরিবর্তে পরবর্তী অক্ষরটিকে স্ট্যাকের দিকে ঠেলে দেয়। এর অর্থ সিজেমে

'("'

উপরের দিকে চাপ দেয় (তারপরে একটি স্ট্রিং শুরু হয় "(যার প্রথম 'চরটিটি) তবে উপরের গল্ফস্ক্রিপ্টে কেবল একটি সরল একক স্ট্রিং।

এটি অনলাইনে চেষ্টা করুন । প্রিলিউডের জন্য অ্যাকাউন্ট করার 1>পরিবর্তে ব্যবহৃত হয় (


এখানে 12 টি ভাষা, 373 বাইট । কিছু কাজ ঘুরে দেখা গেছে, ট্রান্সক্রিপ্টটি সরানো হয়েছে (এটি রেলটিকে খুব ব্যয়বহুল করে তুলেছে) এবং স্কিম (মুরগী) যুক্ত করা হয়েছে। মূল পোস্টটি আপডেট করা চিরকালের জন্য লাগে বলে এটি আপ টু হতে আপডেটগুলির জন্য আমার গল্ফিং গ্রাউন্ড।

"1\"09!#.&&+.@"" "" "#|"
#=
''''
<<s
11]0=~2base{+}*}
 ?
 :_7/!\_7%!@
"
R"Happy Birthday, "[?S"!"*"
>0[0>i:0(?v:{)?v0n;\!/
$'main';n1< .95<
(-[Hello, World!]o#''';print(input()in input());'''"]];ri:X{_~X+S*'/@S*_'\4$N}%_sW%1>"=#print(([1 1;1 0]^int(readline()))[1,2])#=)?(!?)
s
l=gets
a='+-'+?-*~/$/+'-+'
puts a+'
| %s |
'%l+a# =##'''#";e# |#(print(format"~x"(eval(read))))

আমি জুলিয়ার জন্য কয়েকটি বাইট সংরক্ষণ করতে পারি যেহেতু নিরবচ্ছিন্ন মাল্টলাইন মন্তব্যগুলি STDERR এ ত্রুটি বাড়িয়ে তোলে।


দুর্দান্ত জিনিস। ট্রান্সক্রিপ্টের কাজটি কী?
Cabbie407

@ কাবিবি 407 আমি এখনও কোন ভাষাটি কোন কাজটি পায় তা অনুকূল করার চেষ্টা করছি তবে বর্তমানে ট্রান্সক্রিপট হ্যালো ওয়ার্ল্ডকে গ্রহণ করেছে এবং রেল ট্যাবগুলিতে পরিবর্তিত হয়েছে।
Sp3000

আহ, এখন আমি দেখতে পাচ্ছি যে ;)আমি দীর্ঘ উত্তরের কারণে আমার উত্তরে কিছু পরিবর্তন করছি। lol
Cabbie407

26

7 8 9 10 টি ভাষা, 398 431 447 507 বাইট

এটি সম্ভবত আমি বর্তমান সমাধানে ফিট করতে পারি।

#if      + 0+0/*^",v  +- '[.,][[" ,yadhtrib yppaH"l?!;offf4+ + +0.0 +aa<*/
a=0--0;b=input();print(sorted(set(b))==list(b));[[""""                 ^ <
print("Hello, World!")--[[vv? +<
#endif/*  >.!0 + +1ffr"!"~< */
#include<stdio.h>/*>:1 +?!^>i:1^*/
int main(){int a=1,b=1,c,i;scanf("%d",&i);if(1//**/1==2
){printf("%x",/*>&:7/.7%.@*/i);}else{for(;--i-1>0;a=b,b=c)c=a +b;printf("%d",b);}}/*]]--"""]];#@;_J + + \+*\-hhlz \+s[\|dzd\|)J "` + +,*.]]]*/SSSTNSSNSNSTNTTTTTSSSTNSNSTNTTTTTTSSTNTTSNSSNNSSSNTTTTNSTNNNN

শেষ লাইনে হোয়াইটস্পেস কোড এনকোডযুক্ত রয়েছে যাতে এসই এটি খায় না। কোডটি চালানোর জন্য, সমস্ত Sস্থানগুলিকে স্থান, Tট্যাব এবং Nনতুন লাইনের সাথে প্রতিস্থাপন করুন ।

সি 89, টাস্ক 16

সংকলকটি যা দেখে তা এখানে:

int main(){int a=1,b=1,c,i;scanf("%d",&i);if(1/ 1==2
){printf("%x",i);}else{for(;--i-1>0;a=b,b=c)c=a+b;printf("%d",b);}}

সমস্ত কিছু মন্তব্য হিসাবে বা এর ভিতরে ছিনিয়ে নেওয়া হয়েছে #if 0

সি ++, টাস্ক 14

আমি C89 এবং C ++ এর মধ্যে পার্থক্য করতে এখান থেকে চুরি করা একটি কৌশল ব্যবহার করেছি ।

int main(){int a=1,b=1,c,i;scanf("%d",&i);if(1
){printf("%x",i);}else{for(;--i-1>0;a=b,b=c)c=a+b;printf("%d",b);}}

লুয়া, টাস্ক 2

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

#comment
a=0--comment
print("Hello, World!")--[[
... multiline comment ...
]]--comment

ব্রেইনফাক, টাস্ক 1

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

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

পাইথন, টাস্ক 6

আবার, আমি ভাষা-নির্দিষ্ট বৈশিষ্ট্যগুলি এনওপি-তে বা অন্য কোডটির জন্য মন্তব্য করতে ব্যবহার করছি।

#comment
a=0--0;b=input();print(sorted(b)==list(b));[["""
... multiline string ...
"""]];#comment

পাইথ, টাস্ক 17

পাইথ এই জিনিস জন্য দুর্দান্ত। এটি প্রথমটিকে #একটি while True:লুপ হিসাবে গ্রহণ করে যা ত্রুটির সাথে নিঃশব্দে প্রস্থান করে । সুতরাং, আমি কেবল বেশিরভাগ কোডকে একটি স্ট্রিং তৈরি করি ( ;লুপটি প্রথম দিকে শেষ হওয়া এড়ানোর জন্য ), তবে কেবল লুপটি শেষ করুন, পাইথন মন্তব্য দ্বারা নির্মিত অন্য একটি প্রস্থান করুন এবং টাস্কটি করুন। এখানে এটি সমস্ত খালি খালি স্ট্রিংগুলির সাথে প্রতিস্থাপন করা হয়েছে " string ", এটি এখনও কার্যত সমতুল্য:

#if      + 0+0/*^" string " ,yadhtrib yppaH" string """" string "Hello, World!" string "!"  string "%d"  string "%x" string "%d" string """]];#@;_J + + \+*\-hhlz \+s[\|dzd\|)J " string

> <>, টাস্ক 3

এটি একটি খুব আকর্ষণীয়। কার্যধারা কোডে চারদিকে বাউন্স করে, যেখানে বাধা ঘিরে প্রয়োজনীয় যেখানে লাফানো হয় using সম্পর্কিত অংশ:

#                  v            " ,yadhtrib yppaH"l?!;offf4+ + +0.0 +aa<*/
                   i                                                   ^ <
                   !      vv? +<
          >.!0 + +1ffr"!"~<
                   >:1 +?!^>i:1^

তারকাহিনী , টাস্ক 9

এখানে আমাকে "ভাষা বাদে সমস্ত অক্ষর ফেলে দিন" যেতে হবে। অন্য যে কোনও কিছুই ছিনিয়ে নেওয়া হয়েছে, দেখে মনে হচ্ছে:

      + +*,  + '., , + + +. +*                  ,  +*  . + + *.* +*  ,,,,**,*..*, +,* + + +* + ` + +,*.*

কোডটি কেবল কোডের শুরু এবং শেষ ব্যবহার করে একটি শক্ত সময় এড়ানোর জন্য বেশিরভাগ বিরামচিহ্নকে এড়িয়ে যায়। কোডটি কার্যত সমান

      + +*,  + + +,*.*

বেফুঞ্জ -98, টাস্ক 10

একই <> <> এর মতো কাজ করে। ভাগ্যক্রমে,>> #<> এর একটি আয়না এবং বেফুঞ্জে এড়িয়ে চলা, তাই আমরা আলাদা আচরণ প্রয়োগ করতে পারি। এছাড়াও 0/0 == 0,।

#if      + 0+0/*^
                >&:7/.7%.@

সাদা স্থান , টাস্ক 13

এটি আমার শেষ মাপের শেষ জিনিস The কোডটি এনকোড করা আছে; সমস্ত Sস্থানের Tসাথে, ট্যাবগুলির সাথে এবং Nনতুন লাইনের সাথে প্রতিস্থাপন করুন ।

SSSSSSSSSSSSSSSN
SSSSSSSSSSSSSSSSSSN
SSN
SSSSSN
SN
SSN
SSSSSSSSSSSTN
SSN
SN
STN
TTTTTSSSTN
SN
STN
TTTTTTSSTN
TTSN
SSN
N
SSSN
TTTTN
STN
N
N

9

পিপের 17 টি বিভিন্ন সংস্করণ, 383 বাইট (অবৈধ)

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

কাঁচা কোড

I!ga:0m@0:0v:uIN[(oTM0,0i)EN1N1Y1RCkw(hR`1.+0``&2o`)@>3@AB0`u`rZ4AB6({a}V7)BN8AZ9@m]Iv<2W##YqlPByc:((J['.'@]X4)X4RL3)Jnc.:n.RVcc:cRL4|0Iv=3{d:sXaRLaFj,ad@j@j:'\d:(RVdR'\'/).d|0dJ:n}m:'+.'-X#a+2.'+.n."| "Iv=5La{i+:oSio}j:ak:bPv=11?a>1&0INa%(2,a)[((J_M ZRVl)|0)Jnl?lJnlcJnd.n.RVdm.a.RVmih:$+TBa({j@aEQk}FI0,#a).saTB16a>b?abh=1ua//7.s.a%7a+bbINa"Happy Birthday, ".a.'!"Hello, World!"]@v

কৌশল

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

সুতরাং, পিপের দুটি সংস্করণের মধ্যে পার্থক্য করতে, আমাকে কেবল দুটি ভেরিয়েবল বা বর্ণমালার অপারেটর সন্ধান করতে হবে যা দুটির নতুনতে যুক্ত হয়েছিল। পুরানো ক্ষেত্রে এটি পরিবর্তে শূন্য হবে। কোডটি v:uIN[...]পরীক্ষা করতে চাইলে প্রতিটি সংস্করণের জন্য এই পরীক্ষাগুলির একটি করে একটি বড় তালিকা রেখে দেয়, সেই তালিকায় কয়টি নীল রয়েছে তা খুঁজে বের করে ( uভেরিয়েবলটি স্পষ্টভাবে শূন্যে আরম্ভ করা হয়) এবং v("সংস্করণ" -এর জন্য) নম্বরটি সংরক্ষণ করে ।

কিছু অন্যান্য গণনার পরে, আরও একটি বড় তালিকা রয়েছে যা চ্যালেঞ্জ থেকে 17 টি কাজের জন্য ফলাফল গণনা করে এবং vএটি কোন সংস্করণটির ভিত্তিতে একটি নির্বাচন করতে ব্যবহার করে।

সংস্করণ এবং কাজ

0.15.09.04

ডায়াগনস্টিক: (oTM0,0i)( Tরি Mঅপারেটরের সাথে একটি বাগ সংশোধন করা হয়েছে যেখানে স্ট্রিংয়ের প্রতিটি প্রান্ত থেকে 0 টি অক্ষর ছাঁটাই করলে খালি স্ট্রিংটি দেয়; ফাঁকা স্ট্রিংয়ের সাথে সূচীকরণ শূন্য করে)

টাস্ক 18: Iv<2W##YqlPBy(সেটআপ: স্টিডিনের সমস্ত লাইন v2 এর চেয়ে কম হলে পড়ুন ) এরপরে ((J_M ZRVl)|0)Jn(লাইনের বিপরীত তালিকা, ট্রান্সপোজ এবং স্ট্রিংয়ে ফিরে যোগ করুন)

0.15.08.06

ডায়াগনস্টিক: EN1(সংযুক্ত ENওমরেট অপারেটর)

কার্য 1: Iv<2W##YqlPBy(উপরে বর্ণিত একই সেটআপ কোড) এরপরে l?lJnl(নতুন লাইনে যোগ দিন)

0.15.08.03

ডায়াগনস্টিক: 1N1( অপারেটরের Nসংক্ষিপ্ত সংস্করণ হিসাবে যুক্ত IN)

টাস্ক 20: c:((J['.'@]X4)X4RL3)Jnc.:n.RVcc:cRL4|0(সেটআপ: দাবাড়ীর উপরের এবং নীচের অংশগুলি সম্বলিত তালিকা তৈরি করুন এবং স্টোর ইন করুন c) এর পরে cJn(নতুন লাইনে যোগ দিন)

0.15.08.01

ডায়াগনস্টিক: Y1( Yঅ্যাঙ্ক অপারেটর যুক্ত হয়েছে)

টাস্ক 19: Iv=3{d:sXaRLaFj,ad@j@j:'\d:(RVdR'\'/).d|0dJ:n}(সেটআপ: যদি v3 হয় তবে ডায়মন্ডের উপরের অর্ধেকটি তৈরি করুন d) এরপরে d.n.RVd(নীচের অর্ধেকটির জন্য বিপরীত হয়ে নতুন লাইনে যোগ দিন)

0.15.06.19

ডায়াগনস্টিক: RCk( Rঅ্যাড Cওম হোয়েস অপারেটর)

কার্য 17: m:'+.'-X#a+2.'+.n."| "(সেটআপ: বিল্ড +----+\n| স্ট্রিং ইন m) এর পরে m.a.RVm(ইনপুট মোড়ানো mএবং এর বিপরীতে m)

0.15.06.12

ডায়াগনস্টিক: k(পূর্বনির্ধারিত kপরিবর্তনশীল এর সাথে ", "; পূর্বে এটি পূর্বনির্ধারিত ছিল এবং এভাবে শূন্য ছিল)

টাস্ক 16: Iv=5La{i+:oSio}(যদি v5 হয় তবে ফিবোনাকির নম্বর উত্পন্ন করুন i) এর পরেi

0.15.06.08 (দ্রষ্টব্য: নিম্নলিখিত প্রতিশ্রুতি হওয়া পর্যন্ত সংস্করণ নম্বর পরিবর্তন করা হয়নি)

ডায়াগনস্টিক: w(পূর্বনির্ধারিত wপরিবর্তনশীল এর সাথে `\s+`)

কার্য 15: h:$+TBa(ইনপুটটিকে বাইনারি এবং যোগ অঙ্কগুলিতে রূপান্তর করুন; hপরে 12 টি কার্যের জন্য ফলাফল সংরক্ষণ করুন )

0.15.05.29

ডায়াগনস্টিক: (hR`1.+0``&2o`)@>3@AB0

এই সংস্করণটি &রিজেক্স রিপ্লেসমেন্টে (সিড দ্বারা অনুপ্রাণিত) পুরো ম্যাচের স্ট্রিংয়ের প্রতিস্থাপনের প্যাটার্ন হিসাবে যুক্ত হয়েছে । উপরের কোডটি h( 100) গ্রহণ করে এবং এর সাথে প্রতিস্থাপিত করে `&2o`(যেমন "1002o"নতুন সংস্করণগুলিতে তবে কেবল "&2o"পুরানো সংস্করণগুলিতে)। এরপরে এটি তৃতীয় (সমস্ত "2o"নতুন সংস্করণে, ""পুরানো সংস্করণগুলিতে) পরে সমস্ত অক্ষরকে টুকরো টুকরো করে দেয় এবং সেই স্ট্রিংটিতে সূচীকরণের চেষ্টা করে। একটি খালি স্ট্রিংয়ের সূচক শূন্য করে।

কার্য 7: j:ak:b(সেটআপ: কপি স্থানীয় Vars a, bবিশ্বব্যাপী Vars করতে j, kযাতে তারা একটি ফাংশন ভিতরে পাওয়া যাবে করব) দ্বারা অনুসরণ ({j@aEQk}FI0,#a).s(ইন সূচকের জন্য ফিল্টার aযেখানে সংশ্লিষ্ট চরিত্র সমান b, এবং স্থান এ যোগ)

0.15.05.26

ডায়াগনস্টিক: `u`(প্যাটার্নের ধরণ যুক্ত করা; পূর্ববর্তী সংস্করণগুলিতে ব্যাকটিকগুলি অচেনা অক্ষর হিসাবে উপেক্ষা করা হয়, এবং এক্সপ্রেশনটি মূল্যায়ন করে uযা শূন্য)

কার্য 14: aTB16(ধর্মান্তরিত TB16 ASE)

0.15.05.24

ডায়াগনস্টিক: rZ4( rএকটি বিশেষ ভেরিয়েবল তৈরি করেছে যা প্রতিটি সময় এটি উল্লেখ করা হয় 0 এবং 1 এর মধ্যে একটি এলোমেলো মান প্রদান করে; পূর্বে এটি সংজ্ঞায়িত ছিল এবং এভাবে অভিব্যক্তিটি শূন্য করা হয়েছিল)

কার্য 13: a>b?ab(তিনটি প্রকাশ)

0.15.05.12

ডায়াগনস্টিক: rZ4( Zআইপি অপারেটর যুক্ত হয়েছে)

টাস্ক 12: h=1(টাস্ক 15 এর বিটের যোগফল 1 টির সমান হবে)

0.15.05.11

ডায়াগনস্টিক: AB6( ABদ্রবীভূত মান অপারেটর যোগ করা হয়েছে )

কার্য 11: Pv=11?a>1&0INa%(2,a)[...]@v(যদি v11 হয়, আউটপুট 11 এর চেয়ে বড় হয় এবং একটি ছোট সংখ্যা একেবারে বিভাজিত করে 0; অন্যথায় যদি vকিছু vহয় তবে আউটপুট কী হবে তা সিদ্ধান্ত নিতে তালিকার সূচক হিসাবে ব্যবহার করুন )

0.15.05.02

ডায়াগনস্টিক: ({a}V7)( Vঅপারেটর যোগ করা হয়েছে ; যখন অপরিবর্তিত Vছিল, এটি আর্গুমেন্টকে কোনও ফাংশনে শূন্য করে 7 {a}that

কার্য 10: a//7.s.a%7(ইনপুটটি 7 এবং মোড 7 দ্বারা স্পেস-বিভাজিত)

0.15.04.26

ডায়াগনস্টিক: BN8( Bইটওয়্যারস Nইজিশন অপারেটর যুক্ত হয়েছে)

কার্য 9: a+b

0.15.04.23

ডায়াগনস্টিক: AZ( AZবড় হাতের বর্ণমালায় পূর্বনির্ধারিত পরিবর্তনশীল)

টাস্ক 5: bINa( INঘটনাগুলি গণনা দেয়)

0.15.04.20

ডায়াগনস্টিক: m@0:0তারপরে9@m

mপরিবর্তনশীল এই কমিট সালে 1000 preinitialized হয় @অপারেটর lvalues আসতে সংশোধন করা হয়েছে; পূর্বে, m@0একটি সতর্কতা দেওয়ার জন্য নির্ধারিত এবং কিছুই করেনি। সুতরাং, পোস্ট-বাগফিক্স, প্রথম বিবৃতি সেট mকরে 0000, যা আইনী সূচক 9; প্রাক-বাগফিক্স, mথাকে 1000, যা আইনী সূচক নয়। (সূচকগুলি এখনও চক্রীয় ছিল না))

কার্য 3: "Happy Birthday, ".a.'!

0.15.04.18

পূর্ববর্তী সমস্ত ডায়াগনস্টিকসের ফলে ডায়াগনস্টিক তালিকায় শূন্যতা যুক্ত হয়।

কার্য 2: "Hello, World!"


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


4

6 টি ভাষা, 226 বাইট (229 কীভাবে \x1bগৃহীত হবে তার উপর নির্ভর করে !)

/&&#[+.#]@>>+[>,]<[<]>>[.>]>\[/;//;#<?die("\x1bc".max($argv[1],$argv[2]));/*
$a=['Hello','World'];//;printf"%s, %s!
",$a[0]||'Happy Birthday',$a[1]||pop;#";$a="\
#";alert(prompt().match("\t")?"I hate tabs!":"I love spaces!");/\]/

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


1. ব্রেইনফাক

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

Http://copy.sh/brainfuck/ এবং http://brainfuck.tk/ এ পরীক্ষিত ।

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

2. রুবি

/&&#[+.#]@>>+[>,]<[<]>>[.>]>\[/;//;
$a=['Hello','World'];//;printf"%s, %s!
",$a[0]||'Happy Birthday',$a[1]||pop;

ব্যবহার:

ruby cluster

সমস্ত মন্তব্য সরানোর পরে উপরের কোডটি। প্রথম লাইন রুবি মধ্যে সম্পূর্ণরূপে বেহুদা হিসাবে আমরা Befunge-93 এবং brainfuck কোড ধারণ করে, তাহলে আমরা ধারণ একটি অ্যারের তৈরি কিছু রেগুলার এক্সপ্রেশনের সংজ্ঞায়িত হয় Helloএবং Worldএবং ব্যবহার করে এটি প্রিন্ট printf(যোগ করার জন্য ,এবং !)।

3. পার্ল

/&&#[+.#]@>>+[>,]<[<]>>[.>]>\[/;//;
$a=['Hello','World'];//;printf"%s, %s!
",$a[0]||'Happy Birthday',$a[1]||pop;

ব্যবহার:

perl cluster <name>

রুবির সাথে একেবারেই অনুরূপ, আমরা যেহেতু একটি অ্যারে রেফারেন্স সংরক্ষণ করছি $a, যখনই আমরা $a[0]এটি খালি অ্যাক্সেস করার চেষ্টা করি তখন আমরা এটিকে চ্যালেঞ্জ 3 এর পাঠ্য দিয়ে প্রতিস্থাপন করতে পারি Happy Birthdayএবং pop(যা কমান্ড-লাইন প্রোগ্রামের সর্বশেষ যুক্তি দেখায় )।

4. জাভাস্ক্রিপ্ট

/&&#[+.#]@>>+[>,]<[<]>>[.>]>\[/;
$a=['Hello','World'];
",$a[0]||'Happy Birthday',$a[1]||pop;#";$a="\
#";alert(prompt().match("\t")?"I hate tabs!":"I love spaces!");/\]/

ব্যবহার: ব্রাউজার কনসোলে পেস্ট করুন এবং রান করুন।

রুবি এবং পার্ল হিসাবে একই, প্রথম লাইনটি মূলত অকেজো RegExpবস্তু তৈরি করে, তারপরে আমরা একটি অকেজো অ্যারে সংরক্ষণ করি $aএবং দুটি অপ্রয়োজনীয় স্ট্রিং ইনস্ট্যান্ট করি, একটি রুবি / পার্ল কোডযুক্ত এবং একটিতে একটি নতুন লাইন এবং একটি রয়েছে #, তারপরে আমরা prompt()ইনপুট এবং alert()প্রত্যাশিত ফলাফলের জন্য বেশিরভাগ মানুষের দ্বারা চ্যালেঞ্জের জন্য 4.. আমরা RegExpমস্তিষ্কের ফাটল লুপ বন্ধ করতে আরেকটি অকেজো জিনিস দিয়ে শেষ করি ।

9. বেফুঞ্জ -৩৩

/&&#[+.#]@

Http://www.quirkster.com/iano/js/befunge.html এ পরীক্ষিত ।

যেহেতু আমি এটি বুঝতে পারি, /স্ট্যাকটিকে বিভক্ত করে ফলাফলটি ধাক্কা দিয়েছি যা NaNউপরের সাইটে চাপ না দেওয়া ছাড়া কোনও খারাপ প্রভাব ফেলেছে &, একটি পূর্ণসংখ্যার ইনপুট জিজ্ঞাসা করে তাই আমরা চ্যালেঞ্জ 9 দ্বারা প্রয়োজনীয় দুটি সংখ্যা স্ট্যাকের উপরে পড়ি, #নিশ্চিত করে যে আমরা এড়িয়ে চলেছি [যা সেখানে ব্রেনফাকের জন্য রয়েছে, +তারপরে স্ট্যাকের উপরের শীর্ষ দুটি সংখ্যা যুক্ত করে ., #]আবার আউটপুট করে ব্রেইনফাকের জন্য এবং আবার @বেরিয়ে যায়।

১৩. পিএইচপি (বাশে চলছে)

/&&#[+.#]@>>+[>,]<[<]>>[.>]>\[/;//;#<?die("\x1bc".max($argv[1],$argv[2]));

ব্যবহার:

php cluster <x> <y>

পিএইচপি-তে, <?ট্যাগগুলির মধ্যে অন্তর্ভুক্ত না হওয়া কোনও কিছুই হ'ল আউটপুট ভারব্যাটিম, সুতরাং এটি বেফঞ্জ -৩৩ এবং ব্রেনফাক কোডকে আউটপুট দেয় তাই আমরা die()তত্ক্ষণাত কোডে, আউটপুট একটি স্ক্রিন পরিস্কার ( \x1bc) তারপর max()প্রথম দুটি আর্গুমেন্টের।


আপনি স্ট্রিং আক্ষরিক মধ্যে আক্ষরিক ESCape অক্ষর রাখতে পারেন, কেবল সেখানে একটি নোট যুক্ত করুন ( the first character in the first string literal is the byte ASCII 27); আপনার স্কোর 226.
বিড়াল

@ কেট হ্যাঁ, আমি মনে করি আপনি ঠিক বলেছেন, আমি এখনই যেমন রেখেছি তবে শিরোনামে 226 রেখেছি। আমি এই চ্যালেঞ্জটি কতটা উপভোগ করেছি তা ভুলে গিয়েছি, আমি সম্ভবত এখন আরও কিছুটা করতে পেরেছিলাম এবং ES6 ব্যবহার করে আমার থাকতে পারে .match'\x09'(যেখানে '`' রয়েছে) আমি দেখতে পাচ্ছি যে আমি যদি আরও কিছু যোগ করতে পারি তবে!
ডম হেস্টিংস

4

6 টি ভাষা, 450 404 বাইট

ব্যাশ, ব্রেনফাক, সি, গাভাক 4, জাভাস্ক্রিপ্ট এবং ন্যূনতম -2 ডি

/*\t/#[R,+/D
/\t/ # UL.-L<script>var s=prompt().split(' ');alert(+s.pop()+ +s.pop())</script>
sed "s/^\(.*\)$/Happy Birthday, &!/;q"&&0
/\t/#*/
#define func
func main(){puts("Hello, World!");}
//{split($0,b,_);for(i in b)a[NR][i]=b[i++]}END{for(;j++<i;print"")for(k=NR;k;)printf a[k--][j]}
#//]++++++++[>+>+>++++++>++++++++<<<<-]>>++>--<<[>>>>>+++[<++++[<<....>....>-]<<<.>>>>-]<<<[>>+<<-]<[[>+<-]<]>>-]

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

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

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

বাশ, টাস্ক 3

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

sed --version দেয় sed (GNU sed) 4.2.2

bash --version দেয় GNU bash, Version 4.3.30(1)-release (x86_64-pc-linux-gnu)

সুতরাং সেড অংশ নেমে আসে

sed "s/^\(.*\)$/Happy Birthday, &!/;q"

এটি ইনপুটকে গ্রুপ করে, এটিকে একটি নতুন স্ট্রিংয়ে আটকায় এবং ফলাফল মুদ্রণ করে। খুব সাধারণ জিনিস।

brainfuck, টাস্ক 20

আমি মনে করি এটি আড়াল করা সবসময়ই বেশ সহজ। এর সাথে শুরু হওয়া একটি লাইন #//সি এবং awk দ্বারা উপেক্ষা করা হবে। বা কমপক্ষে তারা এর পিছনে আবর্জনা নিয়ে বাঁচতে পারে।

bf দেয় bf - a Brainfuck interpreter version 20041219

এটি কনডেন্সড কোড। প্রথম লাইনটি অন্যান্য ভাষাগুলির কেবল আবর্জনা।

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

আমি এটি কীভাবে কাজ করে তা বোঝানোর চেষ্টা করব

++++++++[>+>+>++++++>++++++++<<<<-]>>++>--<<

এটি এই টেপ এবং পয়েন্টার ব্যবস্থা

0 8 10 46 64 C2 C1
  ^

8 টি ধারক হোল্ডটি নিম্নোক্ত লুপের জন্য বৈশ্বিক কাউন্টার হিসাবে এটি
3 টি একই লাইনের প্রিন্টের সংখ্যা

[>>>>>+++

C13 এ সেট করে, একই লাইনের সংখ্যা

    [<++++

C24 এ সেট করে, ....@@@@একটি লাইনে " " সংখ্যা (শুরুতে)

        [<<....>....>-]<<<.>>>
    >-]

শূন্য হয় যখন C2প্রক্রিয়াটি হ্রাস একটি সম্পূর্ণ লাইন মুদ্রণ এটি একটি নতুন লাইন এবং হ্রাস প্রিন্ট ।
C2C1

যদি C1শূন্য জাদু ঘটবে

    <<<[>>+<<-]
    <[[>+<-]<]

46 টি 64 টি
10 এর পিছনে সরানো হয়েছে এবং গ্লোবাল কাউন্টারটিকে ডানদিকে সরানো হয়েছে

>>-]

তারপরে গ্লোবাল কাউন্টারটি হ্রাস করা হয়
যদি এটি প্রোগ্রামের বাইরে চলে যায় zero

সি, টাস্ক 2

আমি এখানে সি এর প্রতিটি শেষ সামান্য ক্ষমতা "হ্যালো, ওয়ার্ল্ড!" মুদ্রণ করে নিঃশেষ করি। ঠিক আছে, কারও কাজটি করতে হয়েছিল ...

gcc --version দেয় gcc (Ubuntu 4.9.2-10ubuntu13) 4.9.2

আসল সি কোড

#define func
func main(){puts("Hello, World!");}
#

#define funcAwk এই সঙ্গে ঠিক আছে করা হয়। এটি এটি একটি awk ফাংশন বলে মনে করে। ফানক থেকে সংক্ষিপ্তসার একটি গোক বৈশিষ্ট্য।

gawk4, টাস্ক 18

যেহেতু আমি এখানে বেশ কিছু কিছুর জন্য বিশ্রী ব্যবহার করেছি, তাই আমি সিদ্ধান্ত নিয়েছি যে এটি এখানেই ছিল।

awk --version দেয় GNU Awk 4.1.1, API: 1.1 (GNU MPFR 3.1.2-p11, GNU MP 6.0.0)

অজক এই দেখে

/*\t/
/\t/
sed "s/^\(.*\)$/Happy Birthday, &!/;q"&&0
/\t/
func main(){puts("Hello, World!");}
//{split($0,b,_);for(i in b)a[NR][i]=b[i++]}END{for(;j++<i;print"")for(k=NR;k;)printf a[k--][j]}
#

\tমূল্যায়ন সহ অনুসন্ধানের নিদর্শনগুলি false। আমি এখানে ট্যাবটি বেছে নিয়েছি, কারণ আমি মনে করি এটি ইনপুটটিতে থাকতে পারে না। sedমূল্যায়ন false"the string"&&0মিথ্যা যাও মূল্যায়ন। ফাংশন ঠিক আছে। কোনও খালি প্যাটার্নটি মিলে গেলে প্রোগ্রামটি কার্যকর করা হয় যা এটি কোনও ইনপুটটির জন্য।

এটি এটি করে

ইনপুট

elaic
পার্লি
ucfit
srigs

আউটপুট

supe
rcal
ifra
Gili
stic

আপনাকে অবশ্যই নিশ্চিত করতে হবে যে সমস্ত ইনপুট লাইনের দৈর্ঘ্য একই। এগুলি পূরণ করার জন্য স্পেস ব্যবহার করুন।

জাভাস্ক্রিপ্ট, টাস্ক 9

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

<script>var s=prompt().split(' ');alert(+s.pop()+ +s.pop())</script>

ন্যূনতম -2 ডি , টাস্ক 1

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

R,+/D
UL.-L

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

পরীক্ষামূলক

দাবি অস্বীকার: আপনি এটি দিয়ে আপনার সিস্টেমে যে কোনও ক্ষতির ক্ষতি করবেন তার কোনও দায় আমি নেব না।

এটি ধরে নিয়েছে যে আপনার কাছে ব্যাশ & কো, গাক (কমপক্ষে সংস্করণ 4, কারণ এটি বহুমাত্রিক অ্যারে ব্যবহার করে), জিসিসি, পাইথন, বিএফ একটি ব্রেইনফাক ইন্টারপ্রেটার এবং ফায়ারফক্স ইনস্টল করেছেন।

এটি সহজ করার জন্য, প্রোগ্রামের উত্সটি নামের একটি ফাইলটিতে অনুলিপি করুন cluster.html। বাশ টাস্কের জন্য সেই ফাইলটিকে কার্যকরযোগ্য করে তুলুন Make ন্যূনতম -2 ডি এর জন্য দোভাষীকেminimal2D.py একই ডিরেক্টরিতে অন্তর্ভুক্ত ফাইলটিতে অনুলিপি করুন এবং আটকান । তারপরে নিম্নলিখিত স্ক্রিপ্টটি অনুলিপি করে একটি স্ক্রিপ্ট ফাইলে আটকান এবং এটিকে একই ডিরেক্টরিতে রেখে দিন, এটি কার্যকর করতে সক্ষম করুন এবং এটি চালান ... ভাল, আমি কার সাথে কথা বলছি। আপনি যদি এটি পড়েন তবে সম্ভবত আপনার এত বেশি ব্যাখ্যা দরকার নেই এবং যে কোনওভাবে এটি চালানো হবে।

#!/bin/bash
# Task  3: bash
echo "Dr. Hfuhruhurr" | ./cluster.html 2>/dev/null;echo
# Task 18: awk 
printf "elaic\nparli\nucfit\nsrigs\n" | awk -f cluster.html 2>/dev/null;echo
# Task  2: C
cp ./cluster.html ./cluster.c;gcc -w -o cluster cluster.c;./cluster;rm cluster cluster.c;echo
# Task  1: Minimal-2D
python minimal2D.py cluster.html <<<"This
has
to be
copied     !!!";echo
# Task 20: brainfuck
bf cluster.html;echo
# Task  9: JavaScript
firefox cluster.html 2>/dev/null
#google-chrome cluster.html 2>/dev/null

সেখানে আপনি পৃথকভাবে পরীক্ষা চালানোর জন্য আদেশটিও সন্ধান করতে পারেন।

আনন্দ কর!


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

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

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