সত্য-যন্ত্র প্রয়োগ করুন Imp


148

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

  • এসটিডিএন থেকে একটি নম্বর (হয় 0 বা 1) পান।

  • যদি সংখ্যাটি 0 হয় তবে 0 প্রিন্ট আউট করুন এবং সমাপ্ত হবে।

  • যদি সংখ্যাটি 1 হয় তবে চিরকালের জন্য 1 টি মুদ্রণ করুন।

চ্যালেঞ্জ

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

  • STDIN বা একটি গ্রহণযোগ্য বিকল্প থেকে ইনপুট নিন
    • যদি আপনার ভাষা এসটিডিইএন থেকে ইনপুট নিতে না পারে তবে এটি হার্ডকডযুক্ত ভেরিয়েবলের থেকে ইনপুট নিতে পারে বা প্রোগ্রামে উপযুক্ত সমতুল্য হতে পারে
  • STDOUT বা একটি গ্রহণযোগ্য বিকল্পে আউটপুট দিতে হবে
    • আপনার ভাষা যদি অক্ষরগুলি আউটপুট দিতে অক্ষম হয় 0বা 1, বাইট বা একা হয়ে যায় I / O গ্রহণযোগ্য।
  • যখন ইনপুট থাকে 1, তখন অবশ্যই এটি নিয়মিত 1গুলি মুদ্রণ করে এবং প্রোগ্রামটি মারা যায় বা মেমরির বাইরে চলে যায় তবেই তা বন্ধ করা উচিত
  • আউটপুটটি কেবল 0একটির একটি বা কোনও নতুন লাইন বা স্পেস দ্বারা অনুসরণ করা আবশ্যক , অথবা অসীম 1প্রতিটি যার 1পরে একটি বা কোনও নতুন লাইন বা স্থান নয়। আপনার ভাষার ইন্টারপ্রেটারের ধ্রুবক আউটপুট যা দমন করা যায় না ব্যতীত অন্য কোনও আউটপুট তৈরি করা যায় না (যেমন একটি অভিবাদন, এএনএসআই রঙ কোড বা ইন্ডেন্টেশন)। আপনার নিউলাইনস বা স্পেসগুলির ব্যবহার অবশ্যই সামঞ্জস্যপূর্ণ হতে হবে: উদাহরণস্বরূপ, আপনি যদি 1একটি নতুন লাইনের পরে আউটপুট চয়ন করেন তবে তার পরে 1অবশ্যই সমস্তগুলির একটি নতুন লাইন থাকা উচিত।

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

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

তালিকা

এই পোস্টের নীচে স্ট্যাক স্নিপেট উত্তরগুলি থেকে ক্যাটালগ তৈরি করে a) ভাষার প্রতি সংক্ষিপ্ত সমাধানের তালিকা হিসাবে এবং খ) সামগ্রিক লিডারবোর্ড হিসাবে।

আপনার উত্তরটি প্রদর্শিত হয়েছে তা নিশ্চিত করার জন্য, দয়া করে নীচের মার্কডাউন টেমপ্লেটটি ব্যবহার করে আপনার উত্তরটি শিরোনাম দিয়ে শুরু করুন:

## Language Name, N bytes

Nআপনার জমা দেওয়ার আকারটি কোথায় ? আপনি যদি নিজের স্কোরটি উন্নত করেন তবে আপনি পুরানো স্কোরগুলি শিরোনামে রেখে দিতে পারেন । এই ক্ষেত্রে:

## Ruby, <s>104</s> <s>101</s> 96 bytes

যদি আপনি নিজের শিরোনামে একাধিক সংখ্যা অন্তর্ভুক্ত করতে চান (যেমন আপনার স্কোর দুটি ফাইলের যোগফল বা আপনি আলাদাভাবে দোভাষী পতাকা দণ্ডের তালিকা করতে চান), নিশ্চিত করুন যে আসল স্কোরটি শিরোনামের শেষ সংখ্যা:

## Perl, 43 + 2 (-p flag) = 45 bytes

আপনি ভাষাটির নামটিকে একটি লিঙ্কও তৈরি করতে পারেন যা স্নিপেটে প্রদর্শিত হবে:

## [><>](http://esolangs.org/wiki/Fish), 121 bytes


আমরা কি ধরে নিতে পারি যে প্রসেসর কোনও মেশিন কোড এন্ট্রি করার জন্য লিখিত কোডটি সম্পাদন শেষ করলে প্রোগ্রামটি থামবে?
lirtosiast

3
সমস্ত আচরণ অবৈধ ইনপুট জন্য কোন আচরণ ঠিক আছে?
ক্রুঙ্কার

3
@ ক্রাঙ্কার হ্যাঁ, আপনি যে একমাত্র ইনপুটটি আশা করতে পারেন তা হল 0 এবং 1
একটি স্প্যাগেটো

4
ক্যাটালগ বোর্ক করা হয়।
অ্যাডিসন ক্রম্প

2
ক্যাটালগ বিবেচনা প্রদর্শিত হবে Bfএবং bfবিভিন্ন ভাষায় যাবে।
মাকিং হাঁস

উত্তর:


188

হেক্সাগনি , 6 বাইট

এটি আশ্চর্যজনকভাবে জটিল, এবং আমি নিশ্চিত নই যে এটি সর্বোত্তম ...

<.@!$?

কোডটি প্যাডিং এবং অনাবৃত করার পরে এটি নিম্নলিখিত হেক্স গ্রিডের প্রতিনিধিত্ব করে:

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

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

?পূর্ণসংখ্যা হিসাবে ইনপুটটি পড়ে। !এটি আবার মুদ্রণ। .শুধু একটি অপ-অপশন। এখন গ্রিডের কোণটি একটি শাখা হিসাবে কাজ করে:

যদি ইনপুটটি ছিল 0, আইপিটি লাল পথ ধরে চলতে থাকবে, যা কেবলমাত্র প্রোগ্রামটি দিয়ে শেষ করে @

যদি ইনপুটটি থাকে 1, আইপি সবুজ পথে চলতে থাকবে। আবার, .কেবল একটি অপ-বিকল্প নয়, তবে $এটি বেফঞ্জের ট্রামপোলিনের সমতুল্য: এটি পরবর্তী নির্দেশনা এড়িয়ে যায়। মোড়ানোর পরে, পরবর্তী নির্দেশটি হ'ল, ?তবে $মৃত্যুদন্ড কার্যকর হওয়ার কারণে নীল পথে চলতে থাকে, এর !আর একটি অনুলিপি মুদ্রণের সাথে শুরু করে 1। এই লুপটি যা কেবল থাকে !..$তা এখন অনির্দিষ্ট সময়ের জন্য পুনরাবৃত্তি হয়।

হেক্সাগনির নিয়ন্ত্রণ প্রবাহের একটি গবেষণা ...

আমি বিশ্বাস করি যে উপরের সমাধানটি সর্বোত্তম। আমি একটি নরপশু forcer, যা সব 6-বাইট Hexagony প্রোগ্রাম, যা ধারণ করে পরীক্ষা লিখেছি অন্তত একটি প্রতিটি ?!@(যা প্রয়োজন; আমিও পরীক্ষা করেছি :এবং %স্থানে @একটি বিভাগ-বাই-শূন্য ত্রুটি সহ বিনষ্ট কিন্তু এটি কোনও সাহায্যই করেনি)। চেকটি সমস্ত প্রোগ্রাম মুদ্রণ করে যা ক) 0ইনপুট তৈরি করে 0এবং সমাপ্ত করে এবং খ) কমপক্ষে দুটি 1টি উত্পাদন করে (এবং অন্য কিছুই নয়) এবং প্রোগ্রামের প্রথম 60 টিকের মধ্যে শেষ হয় না (5 বাইট সমাধানের জন্য 200 টিক) । আমি সন্দেহ করি যে কোনও বৈধ সমাধান এ জাতীয় ছোট গ্রিডে প্রথম 0বা দ্বিতীয়টিকে সঠিকভাবে মুদ্রণের জন্য 200 টিরও বেশি টিক্স লাগবে 1, তাই আমি মনে করি না যে আমি কোনও সম্ভাব্য সমাধানটি বাদ দিয়েছি।

5 বাইটের জন্য অনুসন্ধানের কোনও ফল পাওয়া যায় নি, তবে 6 বাইটের 57 টি ফলাফল (ব্যবহার করে @; যদি আমরা একই পরিমাণ বাইটে পরিষ্কারভাবে সমাধান করতে পারি তবে কোনও ত্রুটি দিয়ে শেষ করার দরকার নেই)। এই 57 1টির মধ্যে 6 টি মিথ্যা ধনাত্মক ছিল যা প্রকৃতপক্ষে মাত্র দুটি টি মুদ্রণ করেছিল এবং তারপরে আর কোনও মুদ্রণ ছাড়াই অসীম লুপে প্রবেশ করেছিল। একটি সমাধান দু'বার তালিকাভুক্ত হয়েছিল কারণ এতে দুটি !কমান্ড রয়েছে। এটি হ'ল 50 টি বৈধ সমাধান।

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

সামগ্রিক নিয়ন্ত্রণ প্রবাহ প্রায় সবসময় একই: একটি সংখ্যা পড়ুন, এটি মুদ্রণ করুন। যদি এটির 0কোনও উপায় খুঁজে পাওয়া যায় তবে এর প্রান্তের মানটি নির্ধারণের সময় @লুপিং না !রাখলে 1। এখানে উল্লেখযোগ্য চারটি ব্যতিক্রম রয়েছে:

  • একটি সমাধান (দুটি সহ একটি !) 1গ্রিডের মাধ্যমে পুনরাবৃত্তির জন্য দুটি গুলি প্রিন্ট করে, সুতরাং সংখ্যাগরিষ্ঠ প্রোগ্রামের চেয়ে দ্বিগুণ দ্রুত প্রিন্ট করে। আমি এটি x2নীচে দিয়ে চিহ্নিত করেছি ।
  • কয়েক সমাধান (যাদের যা ধারণ করে o) প্রতিস্থাপন 1একটি সঙ্গে 111(চরিত্র কোড o), তাই তারা মুদ্রণ তিন 1 পুনরাবৃত্তির প্রতি গুলি তাদের যত দ্রুত তিনবার সম্পর্কে প্রিন্ট প্রোগ্রাম সংখ্যাগরিষ্ঠ যেমন করে। আমি x3নীচে দিয়ে চিহ্নিত করেছি ।
  • দুটি সমাধান সংযোজন একটি 1প্রতিটি পুনরাবৃত্তির প্রান্ত মান (তাই 1-> 11-> 111-> ...)। এগুলি খুব দ্রুত প্রিন্ট করে তবে শেষ পর্যন্ত এগুলির স্মৃতিশক্তি চলে যায়। আমি OoMনীচে দিয়ে চিহ্নিত করেছি ।
  • দুটি সমাধান একটি খুব টান লুপ প্রবেশ করে যা কেবল উপরের দিকে পিছনে ফিরে আসে এবং !প্রতিটি অন্যান্য টিকের (প্রতিটি 5 বা তার পরিবর্তে) মুদ্রণ করে, যা তাদের সামান্য দ্রুত (এবং আরও পরিষ্কার) করে তোলে। আমি ><নীচে দিয়ে চিহ্নিত করেছি ।

সুতরাং এখানে পুরো চিড়িয়াখানাটি রয়েছে:

#1                #5                #12                #19
?!/$.@            ?$!>$@            .?!/$@             |!|?$@  # ><
?!/$1@  # OoM     ?$!|$@            =?!/$@
?!/$=@                                                 #20
?!/$\@            #6                #13                $@.?<!
?!/$o@  # x3      ?/!<|@            .?/!$@             $@1?<!  # OoM
?!/$!@  # x2                        =?/!$@             $@=?<!
                  #7                                   $@o?<!  # x3
#2                ?\!<|@            #14
?!>$)@                              \!?__@             #21
?!>$1@            #8                                   _>_!?@
?!>$o@  # x3      ?<!>$@  # ><      #15
?!|$)@                              \_?!$@             #22
?!|$1@            #9                                   <!@.$?
?!|$o@  # x3      ?\$!@$            #16                <!@/$?
                                    \_?!_@             <!@=$?
#3                #10                                  <$@!$?
?!|)$@            ?~#!@)            #17                <.@!$?
?!|1$@            ?~#!@1            $$?\@!             </@!$?
?!|o$@  # x3                                           <=@!$?
                  #11               #18
#4                ?$)\@!            \$?\@!             #23
?_!<@>            ?$1\@!                               <<@]!?
                  ?$o\@!  # x3

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

1 নং দল

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

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

গ্রুপ 2

এটি একটি বেশ আকর্ষণীয়, কারণ এটি কেবল অনুভূমিকভাবে চলে। মোড়কের পরে >, আইপিটি তত্ক্ষণাত্ উল্টে, কোণে শাখা নিয়ে। এটি সম্পূর্ণরূপে দৃশ্যমানভাবে কোনও চিত্র নয়, তবে আমাদের ক্ষেত্রে 1আমরা প্রথম সারিতে আবার ট্র্যাভার করছি, তবে এবার পিছনে। এর অর্থ হ'ল আমরা ?আবার প্রবেশ করলাম যা এখন ফিরে আসে 0(ইওএফ)। এটি )মুদ্রণ 1গুলি রাখতে (বৃদ্ধি) দিয়ে স্থির করা হয়েছে। এই 5 বৈচিত্র আছে, যেমন )এটাও হতে পারে 1বা o, এবং >এছাড়াও হতে পারে |:

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

গ্রুপ 3

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

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

গ্রুপ 4

আমি ভাবলাম এটি বিশেষত নিফটি:

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

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

গ্রুপ 8

এটি একটি সত্যই টাইট মুদ্রণের লুপ সহ দুটি সমাধানগুলির মধ্যে একটি:

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

<শাখা হিসাবে কাজ করে। দু'বার মোড়ানোর পরে, 0হিট @1অন্যদিকে, প্রথমে এড়িয়ে যায় ?, তারপরে আবার >এটি প্রেরণ করে $, যাতে এটি স্কিপ হয় @। তারপরে আইপিটি ফিরোজা পথে psেকে দেয়, যেখানে এটি পিছনে এবং সামনে >এবং সামনে <(মাঝখানে প্রান্তটি মোড়ানো) b

গ্রুপ 10

দুটি নির্দেশের পয়েন্টার ব্যবহার করে এমন দুটি গ্রুপের একটি এবং এটি একেবারেই সুন্দর। হেক্সাগনির 6 টি রয়েছে - প্রত্যেকে ঘড়ির কাঁটার প্রান্ত বরাবর একটি পৃথক কোণ থেকে শুরু হয় তবে তাদের মধ্যে কেবলমাত্র একবারে সক্রিয় রয়েছে।

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

যথারীতি আমরা পড়ি ?। এখন ~ইউনারী অস্বীকৃতি: এটি সক্রিয় 1একটি মধ্যে -1। পরবর্তী, আমরা আঘাত #। আইপিগুলির মধ্যে স্যুইচ করার এটি একটি উপায়: এটি বর্তমান প্রান্ত মান মডিউল 6 নেয় এবং সংশ্লিষ্ট আইপিতে স্যুইচ করে (আইপিগুলি 0ঘড়ির কাঁটার দিক থেকে সংখ্যায়িত করা হয়)। সুতরাং যদি ইনপুটটি হয় 0, তবে আইপি কেবল একই থাকে এবং বিরক্তিকর সাথে সরাসরি সামনে ভ্রমণ করে !@। তবে যদি ইনপুটটি ছিল 1, তবে বর্তমান মানটি -1যা হয় 5 (mod 6)। সুতরাং আমরা আইপিতে স্যুইচ করি যা খুব একই কক্ষে শুরু হয় (সবুজ পথ)। এখন #কোনও অপ-অফ এবং ?স্মৃতি প্রান্তটি সেট করে 0)ইনক্রিমেন্ট তাই !প্রিন্ট a 1~এটি নিশ্চিত করতে এখন আমরা আবার আঘাত করেছি#এখনও একটি অপ-অফ (আমাদের আইপি 1 এ স্যুইচ করার বিপরীতে যা প্রোগ্রামটি শেষ করে দেবে)। এই ছোট প্রোগ্রামটিতে সবকিছু কীভাবে একসাথে ফিট হয় তা মনের ভাব প্রকাশ করছে।

গ্রুপ 22

কেবল লক্ষ্য করার জন্য, এটিই আমার আসল সমাধানটি রয়েছে সেই গ্রুপটি It এটি বৃহত্তর গ্রুপ হিসাবেও ঘটে।

গ্রুপ 23

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

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

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

বেশ গণ্ডগোল, তবে একটি সুন্দর জগাখিচুড়ি। :)


টিমভির আশ্চর্যজনক হেক্সাগনি কলরারের সাহায্যে চিত্রগুলি তৈরি করা হয়েছে ।


55
থাম। ঠিক আছে।
কনর ও'ব্রায়েন

6
আমি সম্মত এত দুর্দান্ত ...
এল'েন্ডিয়া স্টারম্যান

28
চুপ কর!
মেগো

7
@ থমাস ওলটম্যান আমি এই উত্তরটি ভাষার কিছু প্রাথমিক জ্ঞান অনুমান করি। আপনি আসলে এটি সম্পর্কে আরও জানতে আগ্রহী হন, তাহলে আমি মূলসূত্র মাধ্যমে সর্বস্বান্ত করেছি এই উত্তরে এবং এই উত্তরে , কিন্তু আমি তোমাকে দোষারোপ না যদি তুমি নও। ;)
মার্টিন ইন্ডার

5
হ্যাঁ ... মেমরির মডেলটি কিছুটা বেদনাদায়ক দেখাচ্ছে (তবে এটি 1 ডি টেপের চেয়ে এখনও ভাল)
জন ডিভোরাক

144

মটোরোলা এমসি 14500 বি মেশিন কোড, 2 বাইট

হেক্সে:

58EC

ব্যাখ্যা:

5  OR the register with input from the data bus
8  Write the register to the data bus
E  Skip next instruction if register is zero
C  Jump

মোটোরোলা এমসি 14500 বি 1 বিট মাইক্রোকন্ট্রোলার; এটিতে একটি 1 বিট রেজিস্টার এবং 1 বিট ডেটা বাস রয়েছে। যেহেতু অপকডগুলি প্রতিটি 4 টি বিট, সেখানে কেবল ষোলটি রয়েছে; তাদের অর্ধেক রেজিস্ট্রার এবং ডেটা বাসের বিটের মধ্যে একটি যৌক্তিক অপারেশন চালায়।

লাফ নির্দেশ একটি লাফ পতাকা সেট করে; যখন কোনও ঠিকানা সরবরাহ করা হয় না, তবে প্রোগ্রামটি কাউন্টারে 0 এ সেট করা সাধারণ If যদি ইনপুট বিটটি শূন্য হয়, তবে প্রসেসরটি লাফ দেয় না। যদি ইনপুট বিট 1 হয়, প্রসেসরটি আবার শুরুতে লাফ দেয়; যেহেতু আমরা ORইনপুট দিয়ে আছি , পরে ইনপুট সংকেত কী তা বিবেচ্য নয়। তারপরে নিবন্ধটি চিরতরে 1 হবে।

প্রচলিত হিসাবে, রেজিস্টার 0 থেকে শুরু করা হয়।

ওপকোডগুলির একটি তালিকা ডাটা শীটে পাওয়া যাবে বা এখানে


7
2 বাইট অবশ্যই এই চ্যালেঞ্জের জন্য সর্বনিম্ন।
কনর ও'ব্রায়েন

23
@ কেওবিʀɪᴇɴ আমি কয়েক ঘন্টা ধরে এসওল্যাংগুলির মাধ্যমে এবং 4-বিট প্রসেসরের তালিকাগুলি দেখতে পেয়েছি যে সেখানে 1 বা 1.5 আছে কিনা, এবং এটির সন্ধান নেই।
lirtosiast

কাজের জন্য অবশ্যই সঠিক সরঞ্জাম।
হুগো জিংক

লিঙ্কটি আতঙ্কিত হয় ...
TheDoctor

@ ডক্টর উভয় লিঙ্কই আমার পক্ষে ভাল কাজ করে
মেগো

85

আর্নল্ড সি, 296 বাইট

IT'S SHOWTIME
    HEY CHRISTMAS TREE i    
    YOU SET US UP @NO PROBLEMO
    BECAUSE I'M GOING TO SAY PLEASE i
        STICK AROUND i
            TALK TO THE HAND i
        CHILL
    BULLSHIT
        TALK TO THE HAND i
    YOU HAVE NO RESPECT FOR LOGIC
YOU HAVE BEEN TERMINATED

আসলেই প্রতিযোগিতামূলক নয়, তবে এটি মজাদার জন্য। Stdin সমর্থন করে না, প্রতিস্থাপন @NO PROBLEMOসঙ্গে @I LIEDএকটি শূন্য মান জন্য। @No Problemoহয় 1।

চালিত করুন (ধরে নিচ্ছেন ফাইলটি সত্যমাচাইন.আরনল্ডক):

wget http://lhartikk.github.io/ArnoldC.jar
java -jar ArnoldC.jar truthmachine.arnoldc
java truthmachine

46
সুন্দর। আমি চিৎকার করেছিলাম 3x
একটি স্প্যাগেটো

10
BECAUSE I'M GOING TO SAY PLEASEএলএল
এরিক মার্টিনেজ 22

8
দেখে মনে হচ্ছে if(i){while(i) print(i);} else {print(i);}এটি করা কি খাটো হবে print(i);while(i) print(i);?
lirtosiast

16
যদিও BULLSHITপ্রোগ্রামটির বিনোদন মূল্যের একটি দুর্দান্ত অবদান রয়েছে, প্রযুক্তিগতভাবে এটি অপ্রয়োজনীয়। আপনি পরে BULLSHITচলে যাওয়ার মাধ্যমে পুরো শাখাটি বের করে দিতে পারেন । TALK TO THE HAND iYOU HAVE NO RESPECT FOR LOGIC
গ্যাবর্স

4
@ গ্যাবোর্সচ এর একমাত্র যথাযথ প্রতিক্রিয়া রয়েছে BULLSHIT
:;

65

মাইনক্রাফ্ট, 18 বাইট (এমসির সংস্করণ 15w45a)

মাইনক্রাফ্ট স্কেচ

আপনি দেখতে পাচ্ছেন, পুনরাবৃত্তি কমান্ড ব্লকে একটি লিভার নির্দেশিত রয়েছে, যার মধ্যে কমান্ড say 1রয়েছে। তার উপরে একটি সিগন্যাল ইনভার্টিং টর্চ রয়েছে, যা কমান্ডটি সহ একক-চালিত কমান্ড ব্লকে পাওয়ারকে নির্দেশ say 0করে।

যখনই স্যুইচটি সত্যের দিকে পরিচালিত হয়, রিপিটার ব্লক কোডটি say 1অসীম 1গুলি আউটপুট ব্যবহার করে । যখন লিভারটি মিথ্যাতে পুনঃনির্দেশিত হয় তখন এটি একক আউটপুট দেয় 0

লক্ষ্য করুন যে এটি [@]ডিফল্টভাবে আউটপুট দেয় । আপনি যদি সত্যিই কেবল 1s এবং জিরোগুলি চান তবে এটি 34 বাইট হয়ে যায়, যেখানে কমান্ড ব্লকের কোডটি tellraw @a [1]এবং tellraw @a [0]। এটি এমসির জন্য @ সি ও ওবি'র প্রস্তাবিত বাইট গণনাটি মেটাতে পাওয়া যাবে হিসাবে ব্যবহার করছে ।


28
আপনি কোড গল্ফের জন্য একটি ভিডিও গেম ব্যবহার করেছেন। +1
আরকে

11
@RK। এটি সাধারণ চ্যালেঞ্জগুলির জন্য প্রকৃতপক্ষে মোটামুটি মানক অনুশীলন। কমপক্ষে আরও দু'জন ব্যবহারকারী রয়েছেন যারা এমসিকে কোড গল্ফিং ভাষা হিসাবে ব্যবহার করেন - সাথে অনুসন্ধান বারটি চেষ্টা করুন is:answer Minecraft। সি:
অ্যাডিসন ক্রম্প

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


38

রুবি, 20

print while/1/||gets

সতর্কতা এড়ানোর জন্য কমান্ড লাইন থেকে চালান as

ruby -e "print while/1/||gets" <<< 0
ruby -e "print while/1/||gets" <<< 1

ব্যাখ্যা:

কম গল্ফড, এই

while /1/ || gets
  print
end

যখন একটি রেজিপ্স্প শর্তসাপেক্ষে ব্যবহৃত হয়, ভেরিয়েবলটি $_জনবহুল না হয়ে এবং প্যাটার্নের সাথে মেলে যদি না এটি মিথ্যা হিসাবে মূল্যায়ন করে। লুপের মাধ্যমে প্রথমবারে, $_খালি থাকে তাই আমরা এর মধ্য দিয়ে পড়ি যা STDIN থেকে পঠিত লাইনের getsমান সেট করে $_printকোন আর্গুমেন্ট প্রিন্ট সহ $_। এখন আমরা আবার শর্তসাপেক্ষে মূল্যায়ন করি। যদি আমরা 1 এ পড়ি, আমরা শর্ট সার্কিট করব এবং কেবল আবার 1 টি প্রিন্ট করব এবং চিরকালের জন্য on অন্যথায়, আমরা এর মধ্যে পড়ে যাই gets, কিন্তু যেহেতু getsইনপুটটির কোনও দ্বিতীয় লাইন নেই, শূন্য করে দেয়, তাই লুপটি শেষ হয়।


18
তুচ্ছ কাজগুলি তখনও "সাধারণ" ভাষায় মাইন্ডব্লোয়িং সমাধানগুলি মঞ্জুর করে তা খুব সুন্দর। :)
মার্টিন ইন্ডার

||getsঅংশ শীতল এবং সব, কিন্তু আপনি শুধু ব্যবহার করতে পারবেন না gets;print while/1/একটি বাইট এবং সংরক্ষণ করুন?
ডানিরো

না, তবে এটি 0 টি প্রিন্ট করে না।
হিস্টোক্র্যাট

37

মাইক্রোস্ক্রিপ্ট, 3 বাইট

i{p

আমি সবচেয়ে কম জানি।

ব্যাখ্যা:

i  Takes numeric input and puts it in register 1
{  while register 1 is truthy
  p  Print the contents of register 1

মাইক্রোসক্রিপ্টের সমাপ্তির পরে নিবন্ধ 1 এর অন্তর্নিহিত মুদ্রণ রয়েছে, এ কারণেই কোনও ইনপুট 0একবার মুদ্রিত হয়।


@ কোয়ারটাটা আমি আপনার সাথে মিলেছি: ডি
কনর ও'ব্রায়েন


2
আমি গুরুত্ব সহকারে ভাবছি আপনি প্রশ্নটি প্রথমে লিখেছিলেন কিনা, বা উত্তরটি ...
জন ডিভোরাক

1
প্রশ্নটি. আমি কেবল এটি পোস্ট করতে চেয়েছিলাম কারণ এটি লেখার সময় আমি যে সংক্ষিপ্ততমটি নিয়ে এসেছি। এটি কোনও ক্যাটালগ তাই কোনও আসল বিজয়ী নেই।
একটি স্প্যাগেটে


25

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

লুপগুলির জন্য প্রায়শই লুপগুলির চেয়ে কম হয়।

alert(x)প্রত্যাবর্তন undefined, যা মিথ্যা, তাই বিটওয়াইস বা অপারেটর, |এটিকে কাস্ট করে 0। সুতরাং, যদি xহয় "0", সতর্কতা একবার, অন্যথায় রাখা looping। এই উত্তরেরalert মতো STDOUT এর জন্য ব্যবহার ।

for(x=prompt();alert(x)|x;);

গুলি করো, তুমি আমাকে এতে মারধর কর। আমি ঠিক এই পোস্ট করতে চলেছি! :) জিজি
ডমিনো

বাহ, এটি আমার চেয়ে অনেক বেশি চালাক :) একটি +1 করুন!
ইটিএইচ প্রডাকশনগুলি

আপনার পেছনের সেমিকোলনের দরকার নেই।
কনর ও'ব্রায়েন

@ CᴏɴᴏʀO'Bʀɪᴇɴ আপনি কোন ব্রাউজার ব্যবহার করেছেন? আমি এটি ফায়ারফক্স এবং ক্রোমে পরীক্ষা করেছি এবং SyntaxErrorএটি ছাড়া আমি এটি পেয়েছি ।
ইন্ট্রিপিডকোডার

ওহ, দুঃখিত, আমার খারাপ @ আমার মনটি "ট্রেলিং সেমিকোলনগুলি অকেজো" মোডে ছিল। ^^ "
কনর ও'ব্রায়েন

24

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

a=input()
while 1:print a;1/a

এই একটি বিভাগ ত্রুটি সহ বন্ধ 0, যা ডিফল্ট অনুসারে অনুমোদিত


এসটিডিআরআর আউটপুট ঠিক আছে। > <> উত্তরটিও এটি ব্যবহার করে।
একটি স্প্যাগেটো

এটি উজ্জ্বল ^ _ ^
এবিসিডেক্সটার

একটি মুদ্রণ একটি কাজ করতে চান? দুঃখিত, আমি পাইথন জানি না।
রোহান ঝুনঝুনওয়ালা

1
@ রোহানঝুনঝুনওয়ালা ০ এর জন্য এটি কোনও কিছু মুদ্রণ করবে না, তবে এটি একবার মুদ্রণ করা উচিত।
xnor

1
ওহ, আমার খারাপ!
রোহান ঝুনঝুনওয়ালা

20

ব্রেইনফাক, 41 36 31 30 বাইট

ইনপুট পরে ডানদিকে একবার এবং ইথান এবং ব্যবহারকারীর সাহায্যে 46915 এর সাহায্যে সংক্ষিপ্ত করা।

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

পূর্ববর্তী সংস্করণ: ইনপুট থেকে 48 বিয়োগ করুন, এবং এটি শূন্য না 1হলে চিরতরে ASCII মুদ্রণ করতে 48 এ 1 যোগ করুন , অন্যথায় মুদ্রণ করুন 0

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

আমি এটিকে এখানে চালিয়েছি, তবে বাফার আউটপুটের কারণে আপনি কোনও আউটপুট দেখতে পারবেন না কারণ প্রোগ্রামটি কখনও শেষ হয় না 1

সম্পাদনা: আমি 0ইনপুট প্রিন্ট করতে ভুলে গিয়েছিলাম 0। এখনই স্থির। আমি >.<শেষে মুখ পছন্দ ।


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

2
আপনি কোডের টুকরোগুলি একসাথে আরও ভাল করে মার্জ করে কিছুটা আরও সংক্ষিপ্ত করতে পারেন এবং পৃথক "48" রেজিস্টার না করে সরাসরি নিজের ইনপুট রেজিস্টারটি ব্যবহার করে:,.[>+>+<<-]-[>-<-----]>+++[>.<]
এথন

মড 2 সহ একটি সমাধানের চেষ্টা করা হয়েছে অবশ্যই 48 টির বিয়োগ করা সঠিক উপায়। ,.[->+>+<<]>>[->[>-<[-]]>+[<+>-]<<]>[<<.>>]
পিচবোর্ড_বক্স

1
@ রায় এটি ডিফল্ট এবং সাধারণত ধরে নেওয়া হয়। আমি যদি অন্য একটি বাস্তবায়ন ব্যবহার করতাম তবে আমি এটিই বলতাম।
mbomb007

1
বিয়োগের সংমিশ্রণ এবং একসাথে অনুলিপি করে আপনি আরও একটি বাইট পেতে পারেন:,.+++[->>+<-----<]>>---<-[>.<]
user46915

19

পিট, 27 18 16 কোডেল

(কোডেলটি পিক্সেলের একটি অভিনব নাম যা কোনও চিত্র দেখার জন্য বিভ্রান্ততা এড়ানোর জন্য ব্যবহৃত হয় by আমি বাইটের পরিবর্তে কোডেল গণনা করি কারণ পাইট স্ক্রিপ্টগুলি চিত্র হিসাবে সংরক্ষণ করা হয়, সুতরাং শারীরিক আকার পৃথক হতে পারে I আমি মনে করি একটি আদর্শ ফাইল ফর্ম্যাট যা সংরক্ষণ করবে এই পিটটি যথাসম্ভব দক্ষতার সাথে 11 বাইট লাগবে practice অনুশীলনে, আমার ক্ষুদ্রতর জিআইএফ ফাইলটি 62 বাইট, অনুকূল প্যালেট ডেটা সহ। আমাকে কোডেল পরিমাণের পরিবর্তে আমার প্রবেশের আকার হিসাবে ব্যবহার করা উচিত কিনা তা বলুন))

আসল চিত্র: ছোট সংস্করণ

বৃদ্ধ: বর্ধিত সংস্করণ

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

  1. একটি সংখ্যা পড়ুন এবং এটি স্ট্যাকের উপর রাখুন
  2. স্ট্যাকের শীর্ষটি নকল করুন
  3. স্ট্যাকের শীর্ষে পপ এবং আউটপুট
  4. স্ট্যাকের শীর্ষে পপ করুন এবং এই সংখ্যাটি ঘড়ির কাঁটার দিকে ঘোরান।

যদি ইনপুটটি 1 হয়, তবে কার্সারটি নীচে চুনের কোডেলে চলে যায়, যা স্ট্যাকের উপর 1 টি চাপায়। তারপরে মৃত্যুদন্ড কার্যকর হতে চলেছে going যখন কার্সারটি একটি রঙ থেকে সাদা এবং সাদা থেকে একটি বর্ণের কাছে যায় তখন কিছুই ঘটে না। যেহেতু কৃষ্ণকে দেয়াল হিসাবেও বিবেচনা করা হয়, তাই কার্সারটি শীর্ষ লাইনের চুনের কোডেলে ফিরে এসে দ্বিতীয় পদক্ষেপ থেকে পুরো জিনিসটি পুনরাবৃত্তি করে।

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

অপ্রত্যাশিত মান:
ব্যবহারকারী যদি অন্য একটি সংখ্যা লেখেন তবে এটি এখনও মুদ্রিত হবে, তবে কার্সারটি মানের উপর ভিত্তি করে কম-বেশি বার আবর্তিত হবে।

  • 4 বা 0 এর একাধিক: কার্যকরকরণ অনুভূমিকভাবে চলতে থাকে এবং শেষ হয়।
  • 3 এর একাধিক: যেহেতু উপরে যাওয়া অসম্ভব, তাই কার্সারটি সাথে সাথে ঘড়ির কাঁটার দিকে ঘোরানো হয় এবং অনুভূমিকভাবে চলতে থাকে, তারপরে শেষ হয়।
  • 2 এর একাধিক এবং 4 এর একাধিক নয়: কার্সারটি ঘোরে এবং বাম দিকে যেতে শুরু করে। ভাগ্যক্রমে, এই সমস্ত কাজটি এমন একটি ক্রিয়াকলাপ সম্পাদন করে যা প্রোগ্রামের প্রবাহকে প্রভাবিত করে না এবং স্ট্যাকটি খালি করে শেষ করে। স্ট্যাকটি খালি থাকার কারণে যখন কোনও অপারেশন করা যায় না, তখন এটি সহজভাবে উপেক্ষা করা হয়। এটি উপরের বাম কোণে আঘাত করলে, কার্সারটি আর ডানদিকে যাওয়ার মতো আর কোথাও নেই, কার্যকরভাবে প্রোগ্রামটি পুনরায় চালু করে।
  • অন্যান্য মান: কার্সারটি এমনভাবে নেমে যায় যা এটি 1 দিয়ে থাকে যা এটি চিরতরে 1 টি মুদ্রণ করে। ইনপুটটি যদি 5 হয় তবে আউটপুট হবে5111111111111...

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


পিটডিভ বান্ধব সংস্করণ

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

ছোট সংস্করণ

বর্ধিত সংস্করণ


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

প্রথম সংস্করণটি স্ট্যাকের উপরে 1 টি পিছনে চাপ দেয়নি এবং পরিবর্তে আগের সদৃশ নির্দেশটিতে ফিরে এসেছিল। এটিতে আলংকারিক অকেজো কোডেলও ছিল।

ক্ষুদ্র প্যাটার্ন যা আসলে একটি পাইট কোড

বর্ধিত সংস্করণ

তারপরে ফাঁকা লাইনটি সরাতে আমার স্ট্যাকের উপর 1 চাপার ধারণা ছিল। এটি মজাদার যে আমি কীভাবে এটি ভেবেছিলাম আমার আলংকারিক কোডেলগুলির জন্য ধন্যবাদ।

ছোট সংস্করণ

বড় সংস্করণ

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


7
আমি কোডেল ব্যতীত অন্য কোনও কিছুর আগে পাইটের উত্তর কখনও দেখিনি, তবে আমি মনে করি অনুকূল বাইট গণনাটি অন্তর্ভুক্ত করাও আকর্ষণীয় :)
আন্ডারগ্রাউন্ডোমোরিয়েল

1
20 টি পৃথক কোডেল মান রয়েছে যার অর্থ আপনার তিনটি কোডেল 13 টি বিটগুলিতে প্যাক করতে সক্ষম হওয়া উচিত, তারপরে আট বগি প্রতি বাইটে 2.6 কোডেলের স্টোরেজ ঘনত্বের জন্য 13 বাইটে আটটি ট্রিপল্ট করুন। তবে কাউকে প্রথমে সেই ভাষাটি সংজ্ঞায়িত করতে হবে। আমি নামটি DPPi = ঘন প্যাকড পাইট প্রস্তাব করি।
জন ডিভোরাক

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

1
প্রথম জোড়াটি বাইট হিসাবে মাত্রা যুক্ত করুন। আপনার অতিরিক্ত চিহ্নের দরকার নেই।
জন ডিভোরাক

1
@ যে সকল ব্যক্তি এটি চেষ্টা করে দেখতে চান: পিটডেভের সাথে এই সমাধানটি ব্যবহার করে দেখবেন না কারণ পিটডেভ কেবলমাত্র একটিমাত্র 1 টি প্রিন্ট করে এবং সমাপ্ত করে। তবে সমাধানটি এনপাইটের সাথে সঠিকভাবে কাজ করে।
এমএল

19

Pyth, 4 3 2

Wp

একটি আছে ! পিছনে স্থান (ধন্যবাদ isaac :))। লুপটি কম্পাইল করার জন্য প্রয়োজনীয় স্থানটি প্রয়োজন ছিল তবে পাইথ আপডেট হয়েছে been সাধারণত এটি ব্যবহার করে অযোগ্য ঘোষণা করবে তবে এটি ক্যাটালগ হওয়ায় এটি বৈধ হওয়া উচিত।

ব্যাখ্যা:

Wp        : implicit Q = eval(input)
W         : while
 p        : print and return the value of Q, to be evaluated as the while condition
          : Functions without enough arguments automatically use Q now
          : do nothing in the body of the while loop

5
পাইথের সাথে অন্তর্ভুক্ত করার জন্য আমি এই উত্তরটি দ্বারা অনুপ্রাণিত হয়েছি pass। জায়গা এখন অপ্রয়োজনীয়। pyth.herokuapp.com/?code=WpQ&input=0&debug=0
isaacg

52
ক্রসড চারটি এখনও চারটির মতো দেখাচ্ছে।
কনর ও'ব্রায়েন

1
হ্যাঁ, আমি অজানা সেলাইয়ের বিরক্ত হয়ে যাচ্ছি সব সময় সর্বকালের উপর আধিপত্য :( এলওএল।
আশ্বিন গুপ্ত

1
@ অশ্বিনগুপ্ত আমার ভাষা প্রযুক্তিগতভাবে এটিকে পরাজিত করেছেন, তাই এটি সম্পূর্ণরূপে আধিপত্য বিস্তার করে না :)
সাইয়েস

@ কিয়েস হ্যাঁ! সাবাশ! আমি আশ্বাস দিয়েছি যে কোনও কিছু পাইথ ললকে মারতে পারে।
আশ্বিন গুপ্ত

16

চিপ , 6 বাইট

e*faAs

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

আসুন এটি ভেঙে দিন:

*এটি একটি উত্স সংকেত, এটি সমস্ত সংলগ্ন উপাদানগুলিতে একটি সত্য মান প্রেরণ করবে। eএবং fআউটপুট পঞ্চম এবং ষষ্ঠ বিট অনুরূপ। সুতরাং, e*fবাইনারি উত্পাদন করে 00110000যা ASCII চর "0" হয়।

এখন, Aইনপুট aপ্রথম বিট এবং আউটপুট প্রথম বিট, সুতরাং aAইনপুট থেকে আউটপুট থেকে যে বিট অনুলিপি। সুতরাং, যখন মিলিত হয় তখন e*fASCII "0" এর একটি ইনপুট "0" উত্পাদন করে এবং "1" "1" উত্পাদন করে। (সেখানে মধ্যে কোনো মিথস্ক্রিয়া হয় fএবং aযেহেতু কেউই কখনও সংকেত উত্পাদন।)

sপ্রান্তে যখন একজন সত্যিকারের সংকেত দ্বারা সক্রিয়, পরবর্তী বাইট পৌছায়, যার মানে হল পুরো জিনিস একই ইনপুট দিয়ে আবার চালানো হবে থেকে ইনপুট প্রতিরোধ করবে।

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

যদি ASCII এর পরিবর্তে 0x0 এবং 0x1 মানগুলিকে আউটপুট ব্যবহার করা হয়, তবে আমরা e*fঅংশটি সরাতে পারি , ফলস্বরূপ কেবল 3 বাইট :

aAs

যদি স্টিডিনটি বন্ধ হওয়ার আশা না করে শূন্যটি নিজেকেই শেষ করতে হয় তবে আমরা নিম্নলিখিতটি পাই, যা প্রথম বাইটটি উল্টিয়ে দেয় ~এবং ফলাফলটি পাস করে t, যা প্রোগ্রামটি শেষ করে ( 10 বাইট ):

aA~te*f
 s

( tএছাড়াও কোনও সংকেত উত্পাদন করে না, সুতরাং tএবং এর মধ্যে কোনও মিথস্ক্রিয়া নেই e))


2
চমৎকার উত্তর! যেহেতু এটি একটি ক্যাটালগ চ্যালেঞ্জ, তাই এটি অ-প্রতিযোগী হিসাবে চিহ্নিত করার দরকার নেই, তাই আমি আপনার জন্য সেই বিটটি সরিয়েছি। পিপিসিজিতে আপনাকে স্বাগতম!
মেগো

4
আমি টিআইওতে চিপ যুক্ত করার স্বাধীনতা নিয়েছি। এটি অনলাইন চেষ্টা করুন!
ডেনিস

@ ডেনিস, আপনার জন্য প্রশ্ন: আমি কীভাবে এর উত্স আপডেট করার জন্য টিআইও পেতে পারি? গত সপ্তাহে আমি চিপ ইন্টারপ্রেটারে একটি বাগ ঠিক করেছি, তবে এটি টিআইওতে পরিবর্তনের প্রচার করেনি। এটি কি আমার জন্য কাউকে জিজ্ঞাসা করার দরকার?
Phlarx

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

14

ব্রেনবুল , 5 বাইট

,.[.]

ব্রেইনবুল হ'ল ব্রেইনফাক, তবে এটি কেবল বিটগুলিতে পরিচালিত হয় এবং I / O এর মাধ্যমে 0এবং 1অক্ষরগুলি করে।


3
আমি জানতাম সেখানে একটি বিএফ ডেরিভেটিভ থাকতে হবে যেখানে এটি সম্ভবত সম্পন্ন করা যেতে পারে।
একটি স্প্যাগেটো

14
আমার মনে হচ্ছে "বুলফাক" এর আরও ভাল নাম হতে পারে তবে নির্বিশেষে ভালই করা হয়েছে।
জেমস মার্ফি

2
@ জামেসমার্ফি মনে হচ্ছে এটি ইতিমধ্যে বিদ্যমান: esolangs.org/wiki/Boolfuck
ডিএলহ

13

LOLCODE, 119 বাইট

GIMMEH n
n R SUM OF n AN 0
BOTH SAEM n AN 0, O RLY?
YA RLY
 VISIBLE 0
NO WAI
 IM IN UR l
  VISIBLE 1
 IM OUTTA UR l
OIC

Ungolfed:

HAI

BTW, Read n as a string from STDIN and convert to an integer
GIMMEH n
n R SUM OF n AN 0

BTW, Test n for equality with 0
BOTH SAEM n AN 0, O RLY?
YA RLY
    BTW, Write 0 to STDOUT and exit
    VISIBLE 0
NO WAI
    BTW, Loop forever, printing 1
    IM IN YR l
        VISIBLE 1
    IM OUTTA YR l
OIC

KTHXBYE

1. আপনি কোন দোভাষী ব্যবহার করছেন? 2. MAEK n A NUMBRআপনি কাস্ট করতে পারেন? ৩. আপনি কি DIFFRINTপরিবর্তে ব্যবহার করতে পারেন BOTH SAEMএবং শর্তাবলী স্যুইচ করতে পারেন ?
lirtosiast

@ থমাসকওয়া আমি লোপকোফিউই ব্যবহার করছিলাম, এটি repl.it- এ one (যা এই মুহূর্তে ডাউন বলে মনে হচ্ছে, সুতরাং আপনার পরামর্শগুলি এটির ব্যাক আপ হয়ে গেলে আমি এটি পরীক্ষা করে নেব))
অ্যালেক্স এ।

O RLY?বুলিয়ান কাস্ট করেন না ?
লিকি নুন

পছন্দ করুন O RLY?একটি পোস্টফিক্স মত if
অ্যালেক্স এ

12

সি, 37 বাইট

এটি সি তে কীভাবে করা যায় তা ভিন্ন different

main(c){for(gets(&c);putchar(c)&1;);}

cintমান 1 এর ডিফল্ট 1 gets(&c)থেকে একটি স্ট্রিং পেয়ে যায় stdin, এখানে মানটি cআঁকড়ে ধরে, হ্যাশিশালি যেহেতু cএটি একটি নয় char*putchar(c)মান ছাপে cকরতে stdout, এবং আয় c। যেহেতু '0'48 এবং '1'ASCII এ 49 হয়, তাই আমরা &1এটি নির্ধারণ করতে শেষ বিট ( ) ব্যবহার করতে পারি । যদি তা হয় '0'তবে লুপটি ভেঙে যায়। অন্যথায়, এটি চিরকালের জন্য যায়।

সংকলন (সম্পর্কে সতর্কতা সহ gets) এবং gcc-4.8লিনাক্সের অধীনে চলে runs


2
সম্ভবত এটি কেবল সামান্য-এডিয়ান স্থাপত্যগুলিতে কাজ করে।
নিল

@ নীল আমি এটি অনুমান করব।
cbojar

@ নীল এন্ডিয়ানসনেস কেবলমাত্র মাল্টিবাইট মানগুলিতে বাইট ক্রমকে প্রভাবিত করে।
LegionMammal978

1
@ LegionMammal978 cডিফল্ট একটি এর int, যা একটি মাল্টিবাইট মান এবং একটি বড়-এন্ডিয়ান আর্কিটেকচারে getsভুল বাইট সেট করবে।
নীল

11

ভোল্টেজ , 7 বাইট

 ?+
@!:

ল্যাবরেথ একটি 2 ডি স্ট্যাক-ভিত্তিক ভাষা যেখানে নিয়ন্ত্রণের প্রবাহ স্ট্যাকের শীর্ষ উপাদানের চিহ্নের উপর নির্ভর করে, প্রতিটি নির্দেশের পরে পরীক্ষিত হয়। উপরের সারিতে প্রথম বৈধ নির্দেশিকা থেকে মৃত্যুদন্ড ডানদিকে চলতে শুরু করে, যা এখানে ?

সম্পর্কিত নির্দেশাবলী হ'ল:

?      Input integer
+      Add top two elements (Labyrinth's stack has infinite 0s on the bottom)
:      Duplicate top element
!      Output as number
@      Terminate program

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

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

একটি বোনাসের জন্য, এখানে @ মার্টিনব্যাটনার'র 7 বাইট সমাধান, যা একইভাবে পরিচালিত হয়:

?+!@
1!

নোট করুন, বেশিরভাগ ভাষার মতো নয়, 1প্রকৃতপক্ষে nস্ট্যাকটি পপ করে এবং পুশ করে n*10 + 1, বিপুল সংখ্যক বিল্ডিং আপকে সহজ করে তোলে। তবে, যেহেতু স্ট্যাকের শীর্ষটি সেই মুহুর্তে খালি, এটি কেবল 1 চাপানো থেকে আলাদা নয়।


10

> <> , 7 বাইট

i2%:n:,

এটি <<> 1 ইওএফ-তে ধাক্কা দেয় -> 1 মোড 2 এটিকে ব্যবহার করে এটি সমাপ্তির জন্য 0 দ্বারা বিভাজনও ব্যবহার করে (যা স্পষ্টতই ঠিক আছে যেহেতু sensক্যমত্যটি এসটিডিআরআর আউটপুট উপেক্ষা করা হয়)।

কেবলমাত্র রেফারেন্সের জন্য, ত্রুটি ছাড়াই পরিষ্কারভাবে প্রস্থান করা একটি অতিরিক্ত বাইট:

i2%:n?!;

10

এপিএল, 6 বাইট

→⎕←⍣⍲⎕

ব্যাখ্যা:

     ⎕ Read the input, then
 ⎕←    write it out
   ⍣   repeatedly
    ⍲  until NAND of it with itself becomes true.
→      Branch to zero to avoid printing the result again.

1
দ্বিতীয় এবং শেষ চরিত্রগুলি কি অন্যরকম বলে মনে হচ্ছে? কারণ তারা আমার পক্ষে নয়।
জন ডিভোরাক

@ জনডভোরাক নাপ, তারা একই রকম।
অ্যালেক্স এ।

1
ঠিক আছে, এখন আমি এটি মোবাইলে এবং সমস্ত কিছুর দিকে দেখছি তবে দুটি তীর আমার কাছে একই দেখাচ্ছে :
জন ডিভোরাক

10

ব্রায়ান ও চক , 21 বাইট

,}<-{-?<SOH>_{+?
_>+{?<.p

এখানে, <SOH>সংশ্লিষ্ট নিয়ন্ত্রণ অক্ষর (0x01) দিয়ে প্রতিস্থাপন করা উচিত।

ব্যাখ্যা

মূল ধারণাটি হ'ল pচকের শেষের দিক থেকে ইনপুটটির অক্ষর কোড (48 বা 49) বিয়োগ করা , যা একটি ?(যা একটি বৈধ কমান্ড) দেবে বা @কোনটি নয়।

,চকের প্রথম কক্ষে ইনপুট চরিত্রটি পড়ে (এর সাথে চিহ্নিত _)। আমরা এই মানটি আরও 0কিছু পরিবর্তন করতে গিয়ে একটি লুপে নামিয়ে আনতে চাই:

}<চলে আসে pএবং -এটা decrements। তারপরে {ইনপুট কক্ষের -হ্রাসও ফিরে আসে । যতক্ষণ না এটি এখনও শূন্য নয়, ?চককে নিয়ন্ত্রণ দেয়। এখন >ব্রায়ানের টেপের মাথাটি একটি কক্ষে ডান দিকে সরানো হয় (যা শুরু করা হয় 1) এবং +যেগুলি বৃদ্ধি করে। তারপরে আমরা লুপটি পুনরায় সেট করব {?

সময় চাক প্রথম সেল হিট দ্বারা 0, <SOH>সেল চরিত্র আমরা stdin থেকে পড়েছি এবং বৃদ্ধি করা হয়েছে হবে pহবে ?ইনপুট জন্য 1বা @ইনপুট জন্য 0

এখন আর ?নিয়ন্ত্রণ নিয়ন্ত্রণ পরিবর্তন করে না। 0বা 1পরে এটি একটি নো-অপ, যেমন নাল-বাইট (দ্বারা প্রতিনিধিত্ব করা হয় _)। {চকের প্রথম কক্ষে ফিরে আসে এবং +বর্ধিত হয় তা নিশ্চিত করার জন্য এটি ইতিবাচক, যেমন ?হাত চকের উপর নিয়ন্ত্রণ করে।

>+ব্রায়ানের প্রাথমিক টেপ শেষ হওয়ার পরে এই সময় সেলটি বাড়ায়। এই ঘরটি আবর্জনাযুক্ত তবে আমরা কখনই এটি ব্যবহার করব না। এখন {ব্রায়ান এর টেপ সামনে সব পথ স্ক্যান করে না, কিন্তু কেবল _। সুতরাং ?বর্তমান কোষটি শূন্য হওয়ায় কোনও অপ-বিকল্প নেই। তারপরে <.একটি বাম দিকে সরানো (ইনপুট চরিত্রের অনুলিপি) এবং এটি মুদ্রণ করে।

অবশেষে, আমরা ?বা এর মুখোমুখি হই @। যদি ইনপুটটি ছিল 0এবং এই সেলটি @এটি কোনও অপশন নেই এবং প্রোগ্রামটি সমাপ্ত হয়। তবে যদি ইনপুটটি ছিল 1এবং এই সেলটি ?আমরা ব্রায়ানের কাছে হস্তান্তর করি {+?যা চকের উপর লুপটি পুনরায় সেট করবে এবং এখন আমরা 1চিরকালের জন্য মুদ্রণ করছি (যতক্ষণ না ব্রায়ানের টেপের শেষে ঘরের পূর্ণসংখ্যার কোনও স্মৃতি মাপসই হয় না) আরো, আমি মনে করি ...)।

বোনাস

এসপি 3000 এবং আমি বেশ কয়েক দিন ধরে এটিকে দেখছি। আমরা প্রায় 40 টি বাইট শুরু করে দুটি সম্পূর্ণ ভিন্ন এসে পৌঁছেছি, তবে 26 বাইটে সমাধান বেঁধেছি। আমি যখন আমার জন্য ব্যাখ্যাটি লিখতে শুরু করি তখনই কি উপরের 21 বাইট সমাধানটি আমার কাছে ঘটেছিল? বি ও সি তে একে অপরকে কিছু গল্ফিং ট্রিকস চারদিকে ধারনা নিক্ষেপ করার জন্য এবং একে অন্যকে শেখানোর জন্য স্পকে অনেক ধন্যবাদ। :)

এটি তার 26 বাইট সমাধান:

>,----{?{>1?0
#I<?_}<.<<<?

এবং এটি আমার:

,{>-<-?_0+?_1{<?
_®{?_{>.?

®মান 174 সহ একটি বাইট যেখানে (যেমন কেবল আইএসও 8859-1 হিসাবে ফাইলটি সংরক্ষণ করুন)।

কোর এ খনি 21-বাইট সমাধান একইভাবে কাজ করে, যে ®হয়ে }ইনপুট জন্য 1এবং ~ইনপুট জন্য (কোন সমিতি) 0, কিন্তু মৃত্যুদন্ড অনেক কম মার্জিত।

তার সমাধানটি বেশ ঝরঝরে হয়েছে যে উত্স কোডটি কেবলমাত্র ASCII এবং এটির জন্য ইনপুট প্রক্রিয়াটি করতে কোনও লুপের প্রয়োজন হয় না। পরিবর্তে, ----সক্রিয় 1মধ্যে -এবং 0মধ্যে ,(চাক জন্য একটি নো-অপ)। যে -তারপর প্রথম পরিবর্তন হবে ?একটি মধ্যে ব্রায়ান এর টেপ >ফলে জন্য বিভিন্ন নিয়ন্ত্রণ প্রবাহ তৈরি 1-case।


10

বিটওয়াইস সাইক্লিক ট্যাগ , 3 বিট বা <1 বাইট

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

  • 0: প্রথম ডেটা বিট মুছুন (এবং আউটপুট রয়েছে এমন বাস্তবায়নে এটি আউটপুট করুন)।
  • 1x: যদি প্রথম ডেটা বিট হয় তবে ডেটার শেষে 1যুক্ত করুন x(হয় 0বা অন্যকে উপস্থাপন করুন 1)। (যদি প্রথম ডেটা বিট হয় 0তবে কিছুই করবেন না))

ডেটা স্ট্রিং খালি না হওয়া পর্যন্ত প্রোগ্রামটি চলে।

সত্য-মেশিন

110

যখন ডেটা স্ট্রিং এতে সেট করা থাকে 0:

  • 11কিছু যোগ না কারণ প্রথম ডাটা বিট নয় 1
  • 0মোছা / আউটপুট 0
  • ডেটা স্ট্রিং এখন খালি এবং প্রোগ্রামটি থামে।

যখন ডেটা স্ট্রিং এতে সেট করা থাকে 1:

  • 11সংযোজন ক 1
  • 0মোছা / আউটপুট 1
  • ডেটা স্ট্রিংটি এককটিতে ফিরে আসে 1এবং প্রোগ্রামটি যেখানে শুরু হয়েছিল সেখানে ফিরে আসে, তাই আমরা চিরতরে লুপ করি।

9

জিএনইউ সেড, ১০

:;/1/{p;b}

ব্যাখ্যা

  • : একটি নামবিহীন লেবেল সংজ্ঞায়িত করুন
  • /1/যদি ইনপুটটি রেজেক্সের সাথে মেলে 1, তবে
  • p প্যাটার্ন স্পেস মুদ্রণ করুন (অর্থাত্ 1)
  • b এবং নামবিহীন লেবেলে ফিরে যান (চিরকাল)
  • যদি ইনপুটটি 1 না (যেমন 0) না থাকে, তবে প্যাটার্ন স্পেসটি মোডবিহীন মুদ্রণ করা হয় এবং প্রোগ্রামটি শেষ হয়।

মোট 9 বাইটের জন্য 1 টি অক্ষর :;p;/1/bএবং এন পতাকা ব্যবহার বন্ধ করুন । যেহেতু sed -fস্ক্রিপ্ট ফাইলটি চালানোর জন্য যেভাবেই ব্যবহৃত হয়, অতিরিক্ত পতাকার জন্য 2 বাইটের প্রয়োজন হয় না।
শৈশুমারা

9

গম্ভীরভাবে , 4 3 বাইট

ক্রসড আউট 4 এখনও 4 :(

,W■

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

ইনপুট এ 0, লুপটি কখনই কার্যকর করে না (যেহেতু 0মিথ্যা) এবং প্রোগ্রামটি ইওএফ-এ শেষ হয়, স্বয়ংক্রিয়ভাবে প্যাকিং এবং স্ট্যাকের প্রতিটি মান মুদ্রণ করে। ইনপুট উপর 1(অথবা নয় কোনো মান 0, ""বা []), লুপ অসীম চালায়।

ইন বাস্তবিক নেতৃত্বকারী ,প্রয়োজন নেই (অন্তর্নিহিত ইনপুট ধন্যবাদ), স্কোর 2 বাইট নামিয়ে আনার।


8

থু, 34 বাইট

1::=12
2::=~1
0::=~0
@::=:::
::=
@

ব্যাখ্যা:

1::=12 "1" স্ট্রিংয়ের উদাহরণগুলি "12" হয়ে উঠতে পারে

2::=~1 "2" টি স্ট্রিংয়ের উদাহরণগুলি মুছে ফেলা যায়, "1" মুদ্রণ করা যাবে

0::=~0 "0" স্ট্রিংয়ের উদাহরণগুলি মুছে ফেলা যায়, "0" মুদ্রণ করা যেতে পারে

@::=::: "@" সাবস্ট্রিংয়ের উদাহরণগুলি ইনপুট থেকে স্ট্রিং দিয়ে প্রতিস্থাপন করা যেতে পারে

::= প্রতিস্থাপনের বিধিগুলির শেষ তালিকা

@ প্রাথমিক স্ট্রিংটি হল "@"


8

আর্নল্ড সি, 134 বাইট

IT'S SHOWTIME
HEY CHRISTMAS TREE i
YOU SET US UP 0         //or 1
STICK AROUND i
TALK TO THE HAND 1
CHILL
TALK TO THE HAND 0
YOU HAVE BEEN TERMINATED

এটি অন্যান্য আর্নল্ডসির উত্তরের মতো বিনোদনমূলক নয় , তবে এটি গল্ফ হয়েছে। উদাহরণস্বরূপ, খাঁজ অপ্রয়োজনীয়, এবং তাই ম্যাক্রো হয় @NO PROBLEMOএবং @I LIED

ভাষার এই সংস্করণ দিয়ে পরীক্ষা করা হয়েছে , যা ইনপুট নিতে পারে না।


8

কিউবিক্স , 5 6 বাইট

কিউবিক্স হ'ল @ETH প্রোডাকশনগুলি নতুন 2 মাত্রিক ভাষা যেখানে আদেশগুলি কিউবের মুখের চারপাশে আবৃত থাকে। অনলাইন দোভাষী অনুবাদকৃত সংরক্ষণের জন্য @ ETH প্রোডাকশন ধন্যবাদ।

!I\@O

এটি কিউব পর্যন্ত প্রসারিত হয়

  !
I \ @ O
  .

এটি Iকমান্ড দিয়ে শুরু হয় । স্ট্যাকের উপর একটি পূর্ণসংখ্যা ইনপুট করুন।
\, নির্দেশিকা নির্দেশককে কোনও অপের উপর দিয়ে নিচে পুনঃনির্দেশ করে।
O, স্ট্যাকের শীর্ষের সংখ্যাগত মানকে আউটপুট করে।
!, @স্ট্যাকের শীর্ষে সত্য হলে পরবর্তী কমান্ডটি ( ) এড়িয়ে যান । এটি \পুনর্নির্দেশকে ঝাঁপ দিবে যদি 1
\, নির্দেশ পয়েন্টারটি @প্রস্থান প্রোগ্রামে পুনঃনির্দেশ করে ।

এটি স্ট্যাকটি O ? !কমান্ড দ্বারা পপ করা হয়নি এই সুবিধাটি গ্রহণ করে ।


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

@ ইথ প্রডাকশনগুলি অবশ্যই এটি পোস্ট করে। আমি মনে করি আপনি এখানে একটি প্রতিশ্রুতিবদ্ধ ভাষা পেয়েছেন :)
মিকিটি

আপনি সরিয়ে ?এবং স্রেফ ব্যবহার করে একটি বাইট সংরক্ষণ করতে পারেন !:!I\@O
ETH প্রোডাকশনগুলি

@ ইথ প্রডাকশনগুলি খুব সুন্দর
মিকিটি

1
আমি এটির জন্য একটি নিষ্ঠুর-জালিয়াতি লিখেছি (সতর্কতা: আপনার ব্রাউজারটি এক বা দুই মিনিটের জন্য হিমায়িত করে), যা ঠিক পাঁচটি 5-বাইট সমাধান নিয়ে আসে:@IOw! , @I?Ov, @!IOw, !IOW@,!I\@O
ETHproductions

7

ফু , 6 বাইট

&1($i)

ইনপুটটিকে দ্বিতীয় অক্ষর হিসাবে হার্ডকোড করা হয়েছে, যেহেতু ফু-তে স্টডিএন ইনপুট নেই। আমরা কি একমত হই না যে ফু এখন দুর্দান্ত? :)

ব্যাখ্যা

&1          Set current cell to 1
  (  )      Do-while loop (or, at least according to the interpreter)
   $i       Print current cell as int

2
আমি সবসময়ই ফু পছন্দ করি।
একটি স্প্যাগেটো

7

পার্ল, 18 + 1 = 19 13 + 1 = 14 বাইট

print while$_

এভাবে চালান:

echo -n NUM | perl -p truth.pl

পাঁচটি বাইট বন্ধ করে গল্ফ করার জন্য এইসুইটআইএসব্ল্যাকনটকে (যিনি আমার চেয়ে পার্ল গল্ফিংয়ের চেয়ে আরও ভাল)


2
বিবৃতি সংশোধক আপনার বন্ধু! এছাড়াও, আপনি যদি নিশ্চিত ইনপুট কোন চিহ্ন সম্পর্কে newline হয়েছে, আপনি ড্রপ করতে পারেন +0: echo -n 0 | perl -pe'print while$_'(13 বাইট + + 1 -p)। perl -M5.010 -pe'say while$_'এমনকি আরও খাটো হবে, তবে এর ফলাফল 0 বনাম 1 এর মধ্যে
বেমানান নিউলাইনগুলিতে আসে

নিবন্ধন করুন আমি print _ এর সময় মুদ্রণের চেষ্টা করেছি কিন্তু কেন এটি কার্যকর হয়নি তা বুঝতে পারি না। আমি বুঝতে পারি নি যে ইনপুটটিতে আপনার পেছনের নতুন লাইন থাকতে পারে না।
একটি স্প্যাগেটো

হ্যাঁ, স্ট্রিংটি 0মিথ্যা তবে 0+ নিউলাইনটি সত্য। দেখুন perldoc perlsyn
এইসুইটস ব্ল্যাকনট

2
sayআপনি যদি -Eএকটি অতিরিক্ত বাইট হিসাবে গণনা করেন তবুও সংক্ষিপ্ত ।
ডেনিস

2
@ ডেনিস ... যা আমি ঠিক বুঝতে পেরেছি তা ঠিক করা যেতে পারে -l: perl -lpE 'say while$_'(11 বাইট +2 -lp)।
এইসুইটসআইবলাকনট

7

> <> , 6 বাইট

::n?!;

শুরু করতে স্ট্যাকের ইনপুটটি চাপ দেয়

:        copy top element on stack
 :       copy top element on stack again
  n      pop and outputs top element
   ?     condition trampoline - pops top element, if it is zero skips next instruction
    !    trampoline skips next instruction
     ;   finish execution

1
এখানে পিপিসিজিতে আমরা আমাদের ব্যাখ্যা পছন্দ করি। +1
একটি স্প্যাগেটো

3
আমি নিশ্চিত যে এটি কেবল আক্ষরিক 0 এবং 1 ইনপুটগুলির সাথে কাজ করে, যখন এটি 48 ( '0') এবং 49 ( '1') দিয়ে কাজ করার কথা । আমি কি ভুল করছি?
আন্ডারগ্রাউন্ডোমোনাইল

@ কোয়ার্তাটা যদি আমিই বলতাম যে ইনপুট পাওয়ার আরও বেশি traditionalতিহ্যবাহী পদ্ধতিগুলি থেকে যে উত্তরগুলি ব্যবহার করা হয়েছে তার প্রতি ন্যায়সঙ্গত হওয়ার জন্য, আপনাকে স্ট্যাকের উপর 48 বা 49 লাগাতে হবে। যদিও এটি আপনার চ্যালেঞ্জ এবং যাইহোক এটি কোনও বিশাল চুক্তি নয় ¯ \ _ (ツ) _ / ¯
আন্ডারগ্রাউন্ডোমোরিয়েল

2
এটির সাথে আরও একটি সমস্যা রয়েছে: যদি স্ট্যাকটি প্রাক-জনবহুল হয়, তবে আপনাকে -vপতাকাটির জন্য 3 বাইট যুক্ত করতে হবে ।
এল'েন্ডিয়া স্টারম্যান

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