স্ব স্কোরিং প্রোগ্রাম


15

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

আপনার উত্তরগুলি কম বাইট ভাল হওয়ার সাথে সাথে বাইটগুলিতে স্কোর করা হবে।


1: আমি আসলে কিছু উত্তর পছন্দ।


হতে পারে আপনি চ্যালেঞ্জের নামটি "স্ব স্কোরিং মডিফিকেশনযোগ্য প্রোগ্রাম" বা এর অনুরূপ কিছুতে পরিবর্তন করতে পারেন।
dylnan

আপনি কি অনুপযুক্ত ভাষা ব্যবহার করতে পারেন বা কেবল ব্যাখ্যা করতে পারবেন?
লার্জেন

@ লগার্ন আপনি যে কোনটি ব্যবহার করতে পারেন।
পোস্ট রক গার্ফ হান্টার

2
আহা। আমি আধা ঘন্টার একটি উপার্জন অতিবাহিত Hexagony সমাধান , কিন্তু যখন আমি এটি পরীক্ষা গিয়েছিলাম, বাইট সরানোর তৈরি ষড়ভূজ সঙ্কুচিত ! :(
জো কিং

1
@WW আমার অর্থ " 1 bytesপ্রযুক্তিগতভাবে ভুল ব্যাকরণ, তবে ধরে নেওয়া ভাষাগুলির <= 2 বাইটে" বাইটস "স্ট্রিং আউটপুট করার জন্য অন্তর্নির্মিত ভাষা নেই, প্রোগ্রামটি 3 বাইটের চেয়ে দীর্ঘ হবে, সুতরাং এটি হয় না বিষয়টি "- এটি কোনওভাবেই আসে না।
ব্যবহারকারী 202729

উত্তর:


16

ব্যাকহ্যান্ড , 40 36 29 বাইট

vv""sseettyybb  ""jjHHOO]

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

সন্দেহ হলে, সমস্ত বিষয়ে দ্বিগুণ হন। এটি অনর্থক বাস্তবায়ন করতে ব্যাকহ্যান্ডের একযোগে একাধিক পদক্ষেপের সক্ষমতা ব্যবহার করে। মুদ্রণযোগ্য সকলের বাইট মান 28 হয়।

ব্যাখ্যা:

অ-উদ্দীপনা প্রোগ্রাম:

v       Reduce step count to 2
  "    Start string literal
    s e t y b        Push the " bytes" part of the output
                  " Push 28 twice and end the string literal
                       j    Jump to the 28th position (0 indexed) 
                             ]   Increment the 28 to 29
                           O     Print the 29
                         H       Halt and output the entire stack

বিরক্তিযুক্ত প্রোগ্রাম:

যদি কোনও অক্ষর মুছে ফেলা হয় তবে তার পরে প্রতিটি চরিত্র নীচে স্থানান্তরিত হবে।

vv"sseettyybb
v " s e t y b     The same instructions are still executed

যাইহোক, এর পরিবর্তে লাফ দেওয়ার ]পরিবর্তে এটি প্রোগ্রামের শেষটি প্রতিফলিত করে এবং Oপরিবর্তে অবতরণ করে ।

                             v  28th character (0 indexed)
vv""sseettyybb       ""jjHHOO]
v""sseettyybb       ""jjHHOO]OOHHjj"".....
                             ^ 28th character, reflecting off the end of the code

3

রুনিক এনেক্যান্টমেন্টস , 47 বাইট

>>yyLL     @"setyb 64"/
"47 bytes"@"setyb 64"L\

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

যা আমার গিজার কাউন্টার উত্তরের কমবেশি একটি বন্দর , তবে বিভিন্ন আউটপুট (যা এটি নিজেই, একটি ক্লিন উত্তরের একটি বন্দর) সহ।

>>yyLLরুনিকের জন্য একটি আইপি তৈরি করতে (কমপক্ষে) দুটি আইপিএস একত্রিত করতে এবং বামে ফিরে প্রতিবিম্বিত করতে প্রয়োজনীয়, যাতে সমস্ত পরিবর্তনের ফলে একক বাম-চলমান আইপি হয়। দ্বারা প্রতিস্থাপন করা যেতে পারে yy<<তবে এটি কোনও বাইট সংরক্ষণ করে না।

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

অতিরিক্ত স্থান হতাশাব্যঞ্জক, যদিও। তবে এগুলি হ্রাস করার সমস্ত প্রয়াসের ফলস্বরূপ হয় বড় প্রোগ্রাম, একই আকারের প্রোগ্রাম বা এমন প্রোগ্রাম যা 100% বিকিরণ প্রমাণ নয়। এখানে ক্লিন এবং> <> উত্তর উভয়ই রুনিকে উপলভ্য বৈশিষ্ট্যগুলি ব্যবহার করে।


2

> <> , 43 39 বাইট

||vn-{"' bytes"-10/
 o>o<"38 bytes"[0/0

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

আন-ইরেডিয়েটেড অনুষ্ঠানে আমরা যোগ 0করতে '(39), এবং ইরেডিয়েটেড প্রোগ্রামে আমরা 0 লাফালাফি যোগ -1পরিবর্তে এটি করা হয়। যদি উপরের সারি থেকে কোনও কিছু সরিয়ে ফেলা হয় তবে আমরা পরিবর্তে নীচের সারিতে স্থানান্তরিত করব এবং কেবল আউটপুট করব 38 bytes


2

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

//.........||.>e;s;@..\;t;y;b<>}F"+!P0;/|/F!P0$@;<...t;ye;bs/.........)

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

আমি এটিকে 5 মাপের ষড়ভুজ করার চেষ্টা করে দীর্ঘ সময় ব্যয় করেছি, তবে পরিবর্তে আমাকে একটি সাবপার আকার 6 স্থির করতে হয়েছিল :(

সম্প্রসারিত:

      / / . . . .
     . . . . . | |
    . > e ; s ; @ .
   . \ ; t ; y ; b <
  > } F " + ! P 0 ; /
 | / F ! P 0 $ @ ; < .
  . . t ; y e ; b s /
   . . . . . . . . .
    ) . . . . . . .
     . . . . . . .
      . . . . . .

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


যদি আমি এটি সঠিকভাবে বুঝতে পারি, আপনি কি )সারিটি নীচে রাখতে পারবেন না এবং তারপরে কোনও অপশন রাখতে পারবেন না এটি আকারের 6 ষড়ভুজ?
এডিগার্ড

@ এডজিনার্ড যদি আপনি এর পরে কোনও অপশন রাখেন তবে প্রোগ্রামটি প্রভাবিত না করেই অপসারণ করা যায়
জো কিং

2

ক্লেইন 000, 41 বাইট

<<@"setyb "$"4"+"0"/
..@"setyb 04"(....<1

এটি অনলাইন চেষ্টা করুন! জোকিংয়ের যাচাইকারী

আমি মনে করি এই উত্তরটির সাথে মিল রয়েছে জোকিংয়ের> <> জবাবের সমান , তবে আমি পড়ি না> <> যাতে আমি নিশ্চিত হতে পারি না।

এখানে 4 টি বিভিন্ন ধরণের বাইট অপসারণ রয়েছে

  1. আগে প্রথম লাইন থেকে একটি বাইট সরানো হয় / এই ক্ষেত্রে স্ল্যাশ কার্যকরভাবে একটি স্থান বামে স্থানান্তরিত হয়, এটি নীচের লাইনে প্রতিস্থাপন করে এবং কোডের পরিবর্তিত অংশটি কার্যকর হতে বাধা দেয়। এটি আমাদের কোড চালায় ("40 bytes"@, যার ফলস্বরূপ 40 bytes

  2. প্রথমটি /প্রথম লাইন থেকে সরানো হয়। এই ক্ষেত্রে আমরা কোডটি চালাই "0"+"4"$" bytes"@, এটি একটি বিভ্রান্ত উপায় বা মুদ্রণ 40 bytes

  3. নতুন লাইনটি সরানো হয়েছে। এটি আমাদের দ্বিতীয় লাইনের শেষ থেকে শুরু করে এবং ফলাফল কোড (নুপগুলি সরানো সহ) হয়1("40 bytes"@ যা কেবল প্রিন্ট করে 40 bytes

  4. শেষ লাইন থেকে একটি বাইট সরানো হয়েছে। এটি 1প্রথম লাইনের শেষে বাম দিকে সরানোর কারণ এবং পয়েন্টটি অপসারণ করা হলে স্ট্যাকের সাথে যুক্ত হওয়া থেকে বাধা দেয় /। এই "0"+কারণে কোডটি 0পরিবর্তে ধাক্কা দেয় 1, বাকী কোডটি পরিবর্তিত 0হয় 40 bytes

ক্লিন 001, 41 বাইট

\("40 bytes"@......1
..@"setyb "$"4"+"0"/

এটি অনলাইন চেষ্টা করুন! জোকিংয়ের যাচাইকারী

আলাদা টপোলজি ব্যবহার করে এখানে একটি উত্তর দেওয়া হয়েছে। এটি একই আকারের তবে আমি মনে করি উন্নতির কোনও জায়গা আছে।


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