"হ্যালো ওয়ার্ল্ড" যা একটি ভিন্ন "হ্যালো ওয়ার্ল্ড" প্রোগ্রাম তৈরি করে


19

এমন একটি প্রোগ্রাম তৈরি করুন, যা একটি হ্যালো ওয়ার্ল্ড স্ট্রিং ("হ্যালো ওয়ার্ল্ড", "হ্যালো, ওয়ার্ল্ড" ইত্যাদি) এবং উত্স কোডটি দেয়। আউটপুট stdout বা সমতুল্য লেখা হয়। হ্যালো ওয়ার্ল্ড স্ট্রিং সোর্স কোডটিতে এম্বেড করা আছে।

উদাহরণস্বরূপ, আউটপুট হতে পারে

(some source code here)hello world(some source code here)

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

(some source code here)hello, wORld(some source code here)

এই উদাহরণগুলিতে প্রতিটি "(এখানে কিছু উত্স কোড)" প্রতিটি মৃত্যুদন্ড কার্যকর হওয়ার পরে পরিবর্তন করতে পারে, বা এটি একই হতে পারে।

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

নিম্নলিখিত বিরামচিহ্ন বৈধ:

hello, world
hello world
helloworld

যে কোনও মূলধন গ্রহণযোগ্য। উদাহরণস্বরূপ, এগুলি বৈধ হ্যালো ওয়ার্ল্ড স্ট্রিংগুলি:

Hello, world
hellO WORld
HELLoworlD

এই স্ট্রিংগুলি বৈধ নয়:

Hello     world
Hello(newline)world
Hello,world
Hello, Steve

নিম্নলিখিত প্রোগ্রামগুলির একটি পূরণ হওয়ার সাথে সাথে আপনার প্রোগ্রামটি ব্যর্থ হয়েছে:

  • এটি একটি হ্যালো ওয়ার্ল্ড স্ট্রিংকে আউটপুট দেয় যা কিছু পূর্ববর্তী কার্যকর হওয়ার সময় আউটপুট হয়ে থাকে,
  • আউটপুট একই ভাষাতে আর বৈধ উত্স কোড, বা
  • আউটপুটে ঠিক একটি বৈধ হ্যালো ওয়ার্ল্ড স্ট্রিং থাকে না।

আপনার প্রোগ্রামটি এই প্রতিযোগিতার জন্য বৈধ নয় যদি না কমপক্ষে দুটি প্রথম সম্পাদন সফল হয়। এর অর্থ তৃতীয় আউটপুটটি অবৈধ হওয়ার অনুমতি রয়েছে। আপনার প্রোগ্রামের আউটপুট এলোমেলো নাও হতে পারে। প্রথম নির্বাহের ক্ষেত্রে সর্বদা একই দ্বিতীয় আউটপুট তৈরি করা উচিত, দ্বিতীয় নির্বাহের ক্ষেত্রে সর্বদা একই তৃতীয় আউটপুট তৈরি করা উচিত etc.

প্রাথমিক প্রোগ্রামের উত্স কোডে বাইটের পরিমাণ হিসাবে স্কোর গণনা করা হয়। সর্বনিম্ন স্কোর জয়।

নিম্নলিখিত বোনাসগুলি প্রয়োগ হয় (-60% অবধি):

  • -5% * (এন - 2), যেখানে এন হল এক্সিকিউশনের সূচক যার পরে আপনার প্রোগ্রামটি অবৈধ আউটপুট তৈরি করে। এই বোনাস ক্যাপস -50%। যদি আপনার প্রোগ্রামটি 12 বার বা তার বেশি সাফল্য পায় তবে আপনি সর্বাধিক বোনাস পাবেন।
  • -10%, যদি আপনার ফলাফলগুলি (প্রথম উত্স কোড সহ) তিনটি বৈধ বিরামচিহ্ন বিকল্প অন্তর্ভুক্ত করে।

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

উদাহরণ

পরের লাইনটি প্রথম উত্স কোড। যখন আমরা এটি কার্যকর করি, এটি প্রথম কার্যকর হয়।

hello world(some source code here)

পরবর্তী লাইনটি প্রথম উত্স কোড কোড থেকে আউটপুট। এটি প্রথম আউটপুট।

hello, world(some source code here) 

পরের লাইনটি দ্বিতীয় নির্বাহ থেকে আউটপুট হয় is এটি দ্বিতীয় আউটপুট।

helloworld(some source code here)

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

পরবর্তী লাইন তৃতীয় নির্বাহ থেকে আউটপুট হয়। এটি তৃতীয় আউটপুট।

Helloworld(some source code here)

পরবর্তী লাইনটি চতুর্থ নির্বাহ থেকে আউটপুট। এটি চতুর্থ আউটপুট।

hellworld(some source code here)

এই আউটপুটটি অবৈধ। সর্বশেষ বৈধ মৃত্যুদন্ডের সূচক ছিল 4. এই প্রোগ্রামটি -5% * (4 - 2) বোনাস এবং বিরামচিহ্ন থেকে -10% বোনাসের জন্য যোগ্য। এটি মোট -20% করে। প্রথম উত্স কোডের দৈর্ঘ্য ("হ্যালো ওয়ার্ল্ড (এখানে কিছু উত্স কোড)") ছিল 34 বাইট, সুতরাং চূড়ান্ত স্কোরটি 27.2।


1
সাধারণ কুইন বিধিগুলি প্রয়োগ হয় বা প্রোগ্রামটিকে নিজস্ব উত্স ফাইলটি পড়তে দেওয়া হচ্ছে?
মার্টিন ইন্ডার

1
সাধারণ কুইন বিধি প্রযোজ্য।

মূল কোডটি কি বোনাসের দিকে গণনা করে? তেমনি, মূল কোডটিতে hello worldকি কোনও বৈধ থাকতে হবে ?
মার্টিন এন্ডার

1
আসল কোড বোনাসের দিকে গণনা করে। আসল কোডটিতে একটি বৈধ হ্যালো বিশ্ব থাকতে পারে না।

আপনি কি সর্বশেষ নিয়ম পরিবর্তন সম্পর্কে নিশ্চিত? একসাথে "প্রথম প্রোগ্রামটিতে একটি বৈধ হ্যালো ওয়ার্ল্ড স্ট্রিং থাকতে হবে না বা এটিতে একাধিক বৈধ হ্যালো ওয়ার্ল্ড স্ট্রিং থাকতে পারে।" আমি বোনাস পাওয়ার জন্য মূল উত্স
কোডটিতে

উত্তর:


8

পাইথ, 17 বাইট

একটি পৃথক পাইথ সমাধান:

"r\"helloworld\"1

আউটপুট:

r"helloworld"1

দ্বিতীয় আউটপুট:

HELLOWORLD

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

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

উত্তর দেওয়ার সময়, নিয়মগুলি ছিল "কমপক্ষে দুটি প্রথম মৃত্যুদণ্ড কার্যকর না হলে এই প্রতিযোগিতার জন্য আপনার প্রোগ্রামটি বৈধ নয়"
ফ্যাবিয়ান শেমংলার

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

9

গণিত, 214 - 50% = 107 বাইট

(a = Characters[StringJoin["helloworl", "d"]]; b = Apply[StringJoin, Tuples[Transpose[{a, ToUpperCase[a]}]], {1}]; StringReplacePart[ToString[#0, InputForm], b[[FirstPosition[b, "helloworld"] + 1]], {180, 189}]) & 

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


1
লজ্জাজনক যে আপনি সাদা স্থান গল্ফ করতে পারবেন না এবং ম্যাথমেটিকা ​​কুইনে উপসর্গ এবং ইনফিক্স স্বরলিপি ব্যবহার করতে পারবেন না, তাই না? ;) (বিপরীত কুইন পদ্ধতির পক্ষে কাজ করার পক্ষে এটি যথেষ্ট দীর্ঘ হতে পারে, যেখানে আপনি কোডটি স্ট্রিংয়ে সংরক্ষণ করেন sএবং এটি দিয়ে মূল্যায়ন করেন ToExpression))
মার্টিন এন্ডার

6

ভিটসি, 33 - 33 * .05 * (11-2) = 18.15 বাইট

হেহ! যে বীট! আপনি সম্ভবত হবে। : গ

প্রথম আউটপুট:

'0DV \ {25 ^ -V \}} 1+ {rd3 * টু Z; helloworld
'স্ট্রিং হিসাবে ক্যাপচার শুরু করুন
 0 ডিভি 0 স্ট্যাক থেকে পুশ করুন এবং এটি চূড়ান্ত পরিবর্তনশীল হিসাবে সেট করুন।
    Next পরবর্তী আইটেমটি এটি অনেক বার পুনরাবৃত্তি করুন। (1, 2, 3 ... আউটপুট।)
     Ack স্ট্যাকটি বাম দিকে ঘোরান।
      25 32 স্ট্যাকের দিকে 32 চাপুন।
         - এটির দ্বারা শীর্ষ আইটেমটি বিয়োগ করুন - এটি ছোট হাতের অক্ষর তৈরি করবে।
          ভি the পরবর্তী আইটেমটি চূড়ান্ত পরিবর্তনশীল বার করুন।
            Ack স্ট্যাকটি ডানদিকে ঘোরান।
             } এবং আবার...
              1+ একটি যুক্ত করুন। এই কোডটিতে 0টিকে 1 করে তোলে, তারপরে 2 ...
                স্ট্যাক বিপরীত।
                 d3 * চরিত্রটি পান '
                    স্ট্যাকের সমস্ত আইটেম জেড আউটপুট।
                     ; মৃত্যুদণ্ড কার্যকর করুন।
                      হেলিওরল্ড স্ট্রিং ম্যানিপুলেট করতে।

দ্বিতীয় আউটপুট:

'1DV \ {25 ^ -V \}} 1+ {rd3 * টু Z; helloworlD

তৃতীয় আউটপুট:

'2DV \ {25 ^ -V \}} 1+ {rd3 * টু Z; helloworLD

চতুর্থ আউটপুট:

'3DV \ {25 ^ -V \}} 1+ {rd3 * টু Z; hellowoRLD

পঞ্চম আউটপুট:

'4DV \ {25 ^ -V \}} 1+ {rd3 * টু Z; hellowORLD

ষষ্ঠ আউটপুট:

'5DV \ {25 ^ -V \}} 1+ {rd3 * টু Z; helloWORLD

সপ্তম আউটপুট:

'6DV \ {25 ^ -V \}} 1+ {rd3 * টু Z; hellOWORLD

অষ্টম আউটপুট:

'7DV \ {25 ^ -V \}} 1+ {rd3 * টু Z; helLOWORLD

নবম আউটপুট:

'8DV \ {25 ^ -V \}} 1+ {rd3 * টু Z; heLLOWORLD

দশম আউটপুট:

'9DV \ {25 ^ -V \}} 1+ {rd3 * টু Z; hELLOWORLD

একাদশ আউটপুট:

': ডিভি \ {25 ^ -V \}} 1+ {rd3 * টু Z; HELLOWORLD

এটি শেষ আউটপুট, কারণ এটি একটি ত্রুটি ঘটায়।


1
o_o সিম্প্লেক্স 21 এর মধ্যে নেমে পড়েছিল I'll আমি যদিও 18.15 মারতে কাজ করব!
কনর ও'ব্রায়েন

@ সিও'বিʀɪᴇɴ ভিটসিকে নিজস্ব উত্স কোড সম্পাদনা করতে এবং বেসিক স্ট্রিং ম্যানিপুলেশন করতে ব্যবহারিকভাবে নির্মিত হয়েছিল। এক্সডি আমার মনে হয় যদিও এটিকে আরও নিচে নামানো যেতে পারে।
অ্যাডিসন ক্রম্প

আমি ভেবেছিলাম সিমপ্লেক্সটি দুর্দান্ত হবে, কারণ এটির একটি বহিরাগত প্রোগ্রাম ফাংশন রয়েছে তবে এটি একটি প্রোগ্রাম হিসাবে গণ্য হবে oo লে দীর্ঘশ্বাস
কনডর ও'ব্রায়েন

"ক্লাসিক" গল্ফিং ভাষাগুলি মারার জন্য (বা প্রায় মারধর করার জন্য) +1
ev3commander

@ ev3 কম্যান্ডার পুনরাবৃত্তি বোনাস বেশি হলে আমি তাদের পরাজিত করব। : সি
অ্যাডিসন ক্রম্প

5

সিজেএম, এন = 3 4, 28 বাইট - 10% - 10% = 22.4

{`_E=-"_~Hello!, World"2<}_~

এটি নিম্নলিখিত শৃঙ্খলা শুরু করে:

{`_E=-"_~Hello, World"2<}_~
{`_E=-"_~Hello World"2<}_~
{`_E=-"_~HelloWorld"2<}_~
{`_E=-"_~Helloorld"2<}_~

যেখানে শেষেরটিতে আর একটি বৈধ "হ্যালো, ওয়ার্ল্ড" নেই।

এটি এখানে পরীক্ষা করুন।

ব্যাখ্যা

{`     e# Quine framework. Leaves a string representation of the block on the stack.
  _E=  e# Make a copy and get the 14th element, which is the character of the first 'o'.
  -    e# Remove that character from the string.
  "_~Hello!, World" e# Push this string, so the "Hello, World!" is part of the code.
  2<   e# Truncate to just "_~" to get the output right.  
}_~

নোট করুন যে প্রাথমিক প্রোগ্রামটিতে একটি বৈধ "হ্যালো, ওয়ার্ল্ড" নেই, তবে এটি আমাদের আরও একটি পুনরাবৃত্তি যেতে দেয়।


এটি -10% বোনাসের জন্য যোগ্যতা অর্জন করে? আউটপুটগুলিতে কেবল তিনটি বৈধ বিরামচিহ্ন ফর্ম রয়েছে।
মাইক বুফার্দেসি

@ মাইকবুফার্দেহী ওহ ভাল প্রশ্ন ... আমি ধরণের মূল কোডটি এর অংশ বলে ধরেছিলাম।
মার্টিন এন্ডার

1
আমি বিধিগুলি পরিষ্কার করে দিয়েছি যাতে মূল কোডটি বোনাসের জন্য গণনা করা হয়। যদিও আমাকে স্বীকার করতে হবে আমি বুঝতে পারি নি যে এটি -10% পাওয়া সহজ।

5

সিজেএম 69 60 - 50% = 30

আমি এখনও শিক্ষানবিস, দয়া করে আমাকে সিজেমে কীভাবে গল্ফ করবেন তা বলুন।

{`_40>\40<_38>~)`2Te[\25<"helloworld"00YbATe[.{{el}{eu}?}`+]W%"_~"}_~

এটি প্রতিটি পুনরাবৃত্তি মুদ্রণ করা ক্লান্তিকর, কারণ এটি 99 পুনরাবৃত্তির জন্য বৈধ হবে।

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

ব্যাখ্যা

{`_40>\40<_38>~)`2Te[\25<"helloworld"00YbATe[.{{el}{eu}?}`+]W%"_~"}_~
{`                                                                      e# standard quine framework. Thanks for Dennis.
  _40>                                                                  e# get the Yb11..
      \40<                                                              e# get those that not included in top
          _38>~)`2Te[                                                   e# get the accumulator and increment it
                     \25<                                               e# get those before "hello world"
                         "helloworld"                                   e# the Hello World
                                     00                                 e# accumulator
                                        YbATe[                          e# convert to binary and align right.
                                              .{{el}{eu}?}              e# Uppercase if the corresponding bit is 0
                                                          `             e# add quote
                                                           +]W%         e# reorder stack
"_~"}_~

দ্রষ্টব্য: আমি গণিতের উত্তরটি পড়ি না, দুঃখিত, আমি মনে করি এটি আসল ছিল was

পুনঃক্রম এবং বিভিন্ন মূলধন সহ, আমি 9 বাইট হারিয়েছি।

{`_6<\"helloworld"01YbW%.{{eu}{el}?}`\I>_2<~)`2Te[\2>"_~"}_~
{`                                                   "_~"}_~ e# Standard quine framework
  _6<\                                                       e# Get "{~_6<\"
      "helloworld"                                            e# The helloworld
                  01                                          e# The accumulator
                    Yb                                        e# Convert to base 2
                      W%                                      e# Reverse the binary
                        .{{eu}{el}?}                          e# Convert to uppercase while the corresponding bit is 1.
                                    `                         e# Add quote
                                     _2<                      e# Get accumulator
                                        ~)`2Te[               e# Increment the accumulator
                                               \2>            e# get the rest

সিজেএম 73 - 60% = 29.2

এবার বিরামচিহ্নও গণনা করুন।

{`:Z6<"HELLOWORLD"0:AYbW%.{{eu}{el}?}`", ":B-_6<BA3%>@6>A)ZW%52<W%"_~"}_~
{`:Z                                                              "_~"}_~ e# Standard Quine Framework
    6<                                                                    e# take the first 6 character
      "HELLOWORLD"                                                        e# Hello, world
                  0:A                                                     e# Accumulator
                     YbW%.{{eu}{el}?}`                                    e# See above
                                      ", ":B                              e# Punctuation
                                            -                             e# Delete punctuation
                                             _6<                          e# "hello
                                                BA3%>                     e# punctuation
                                                     @6>                  e# world"
                                                        A)                e# incremented accumulator
                                                          ZW%52<W%        e# Remaining part

আপনার আলাদা ভাষা এবং একটি ছোট উত্তর রয়েছে, সুতরাং ম্যাথমেটিকার উত্তর হিসাবে একই পদ্ধতির ব্যবহার করে ভুল নেই wrong

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


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

4

গল্ফস্ক্রিপ্ট, 35 বাইট - 50% = 17.5

0"HelloWorld"{@@{^.32&\}%`@".~"}.~

আমি পুনরাবৃত্তি করার আগে মৃত্যুদন্ড কার্যকর করার সংখ্যা নিয়ে ওভারকিলের বিষয়ে সিদ্ধান্ত নিয়েছি। গল্ফস্ক্রিপ্ট ইন্টারপ্রেটারে ফিরিয়ে আনার সাথে এই প্রোগ্রামটি প্রথম পুনরাবৃত্তির আগে 890 স্বতন্ত্র হ্যালো ওয়ার্ল্ড স্ট্রিং তৈরি করবে । সংক্ষিপ্ত নমুনা হিসাবে, এখানে প্রথম 15 টি পুনরাবৃত্তি রয়েছে:

0"HelloWorld"{@@{^.32&\}%`@".~"}.~
0"HeLlOWoRlD"{@@{^.32&\}%`@".~"}.~
0"HelLOWorLD"{@@{^.32&\}%`@".~"}.~
0"HeLLOWoRLD"{@@{^.32&\}%`@".~"}.~
0"HellowORLD"{@@{^.32&\}%`@".~"}.~
32"HeLlOworld"{@@{^.32&\}%`@".~"}.~
0"hELloWoRlD"{@@{^.32&\}%`@".~"}.~
32"helLowORld"{@@{^.32&\}%`@".~"}.~
0"HeLLoWORlD"{@@{^.32&\}%`@".~"}.~
32"HellOWORld"{@@{^.32&\}%`@".~"}.~
0"hElLOWORlD"{@@{^.32&\}%`@".~"}.~
32"heLLOWORld"{@@{^.32&\}%`@".~"}.~
32"HelloworLd"{@@{^.32&\}%`@".~"}.~
32"hElLoWoRLd"{@@{^.32&\}%`@".~"}.~
0"HEllOWorlD"{@@{^.32&\}%`@".~"}.~

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

(এই নির্দিষ্ট প্রতিক্রিয়া প্রক্রিয়াটি সম্পূর্ণ অ্যাডহক পদ্ধতিতে প্রাপ্ত হয়েছিল I আমি প্রথমে বিট হিসাবে বড় হাতের এবং ছোট হাতের সাহায্যে একটি সাধারণ বাইনারি কাউন্টার চালাতে চেয়েছিলাম, তবে এটি প্রয়োগে অনেক বেশি বাইট লেগেছে, তাই আমি আরও ছোট কিছু খুঁজে পেতে এটি টুইট করতে শুরু করেছি) এটি এখনও যথেষ্ট পরিমাণে চক্রের দৈর্ঘ্য অর্জন করতে পারে Since যেহেতু তাত্ত্বিক সর্বাধিক, কেবল কেস-ফ্লিপিং ব্যবহার করে, 2 10 = 1024, একটি 890-পুনরাবৃত্তি চক্র পাওয়া খুব সুন্দর))

হায়রে, অতিরিক্ত পুনরাবৃত্তির জন্য বোনাসটি −50% কেপে গেছে; ক্যাপ ছাড়াই, এই প্রোগ্রামটিতে একটি তীব্র −4440% বোনাস থাকবে। ;-)


3

পাইথ, 18 বাইট

"-\"hello world\"d

যা ফেরত:

-"hello world"d

যা ঘুরে মুদ্রণ:

helloworld

আমার কাছে একটি সমাধান ছিল যা তিনটি বানানই করেছিল, তবে এটি বোনাসের সাথেও দীর্ঘকালীন।


দ্রষ্টব্য যে এই উত্তরটি সংক্ষিপ্তভাবে অবৈধ ছিল যতক্ষণ না নিয়মগুলি তিনটির পরিবর্তে দুটি পুনরাবৃত্তির প্রয়োজন হয়। যদিও এটি এখন আবার বৈধ।
DLosc

3

সিম্প্লেক্স , 21 বাইট।

সিমপ্লেক্স এর জন্যই জন্মগ্রহণ করেছিল । আমি অবশ্যই এর সাথে আরও এগিয়ে যেতে পারি।

(আমি সিটিআরএল + এন্টার চালিয়ে যাচ্ছি, দুঃখিত! আমি এটি ট্যাবলেট কীবোর্ডে দোষ দিই)

চেষ্টা 3, v.0.8 +, 31 -5% = 29.45 বাইট (ইউটিএফ -8 মেথিংকস)

মাঝের সেই ইমোট নিজেকে প্রকাশ করে। প্রকার, রকম. আমি কেন এই আবার করেছি? ._।

"\"f[helloworld]-:D-``\"§R'Hg"g
"                            "  ~~ write that string
 \"f[helloworld]-:D-``\"§R'Hg   ~~ escaped quotes
                              g ~~ output that string

২ য় আউটপুট:

"f[helloworld]-:D-``"§R'Hg
"                   "      ~~ write that string
 f[helloworld]-:D-``       ~~ string to be written
                     §R    ~~ go to second cell
                       'H  ~~ set it to H charcode
                         g ~~ output that string

3 য় আউটপুট:

f[Helloworld]-:D-``
f                   ~~ turns off safety mode (heck yeah error suppression!)
 [          ]-      ~~ write inside to outer program
  H                 ~~ sort strip
   e                ~~ write e = 2.718281828459045... to the strip
    ll              ~~ writes 1 twice to the cell
      o             ~~ outputs 1
       wo           ~~ apply o backwards through the strip (outputs 1)
         r          ~~ error! tries to access register for modification. nope!
          l         ~~ write 1 to to the current cell
           d        ~~ reverse the strip (NOP)
              :     ~~ removes last char of outer program
               D    ~~ double the current byte (2)
                -   ~~ writes previous char to outer program
                 `` ~~ suppress outer program evaluation and instead output it

চূড়ান্ত আউটপুট:

HelloworlD

চেষ্টা 2, v.0.8 +, 21 বাইট (UTF-8, আমি মনে করি)

"\"helloworld\"§'Hg"g
"                  "  ~~ write that string
 \"helloworld\"§'Hg   ~~ escaped quotes
                    g ~~ output that string

আউটপুট:

"helloworld"§'Hg
"          "     ~~ write that string
 helloworld      ~~ string to be written
            §    ~~ go to first cell
             'H  ~~ set it to H charcode
               g ~~ output that string

চূড়ান্ত আউটপুট:

helloworld

চেষ্টা 1, v.0.7 + 28 26 বাইট

আমি নিশ্চিত নই যে এটি প্রথম বোনাসের জন্য যোগ্যতা অর্জন করে ...

"BhelloworldB"t[s32S;]'gs;
"            "             ~~ write that string
 BhelloworldB              ~~ the string
              t[     ]     ~~ apply the inner from left to right
                s          ~~ output as character
                 32S       ~~ subtract 32 ("capitalize")
                    ;      ~~ add the current byte's char to the outer program
                      'g;s ~~ add g to the outer program

প্রথম আউটপুট:

"HELLOWORLD"g

বহিরাগত প্রোগ্রামটি নির্বাহের শেষে মূল্যায়ন করা হয় (এটি y এর জন্য এটি করে; বহিরাগত প্রোগ্রামটি এটির মতো দেখাচ্ছে:

"HELLOWORLD"g
"          "  ~~ write that string
            g ~~ output that string as string characters

চূড়ান্ত আউটপুট:

HELLOWORLD

এই প্রোগ্রামটি -50% বোনাসের জন্য যোগ্য? দেখে মনে হচ্ছে এটি হতে পারে তবে আপনি কোনও ফলাফল পোস্ট করেন নি।

@ ভিলি-ভাল্টেরি টিটিটেনেন এটি কেবলমাত্র দু'বার চালায়। আমি এই মুহুর্তে বোনাস নিয়ে কাজ করছি।
কনর ও'ব্রায়েন

2

রুবি, 81 - 50% = 40.5

আসল কোড:

_='_=%p;puts (_%%[_,%p]).sub(/[[:upper:]]/,&:swapcase)';puts _%[_,'HELLOWORL'+?D]

একের পর এক আউটপুট:

_="_=%p;puts (_%%[_,%p]).sub(/[[:upper:]]/,&:swapcase)";puts (_%[_,"HELLOWORLD"]).sub(/[[:upper:]]/,&:swapcase)

_="_=%p;puts (_%%[_,%p]).sub(/[[:upper:]]/,&:swapcase)";puts (_%[_,"hELLOWORLD"]).sub(/[[:upper:]]/,&:swapcase)

_="_=%p;puts (_%%[_,%p]).sub(/[[:upper:]]/,&:swapcase)";puts (_%[_,"heLLOWORLD"]).sub(/[[:upper:]]/,&:swapcase)

_="_=%p;puts (_%%[_,%p]).sub(/[[:upper:]]/,&:swapcase)";puts (_%[_,"helLOWORLD"]).sub(/[[:upper:]]/,&:swapcase)

_="_=%p;puts (_%%[_,%p]).sub(/[[:upper:]]/,&:swapcase)";puts (_%[_,"hellOWORLD"]).sub(/[[:upper:]]/,&:swapcase)

_="_=%p;puts (_%%[_,%p]).sub(/[[:upper:]]/,&:swapcase)";puts (_%[_,"helloWORLD"]).sub(/[[:upper:]]/,&:swapcase)

_="_=%p;puts (_%%[_,%p]).sub(/[[:upper:]]/,&:swapcase)";puts (_%[_,"hellowORLD"]).sub(/[[:upper:]]/,&:swapcase)

_="_=%p;puts (_%%[_,%p]).sub(/[[:upper:]]/,&:swapcase)";puts (_%[_,"hellowoRLD"]).sub(/[[:upper:]]/,&:swapcase)

_="_=%p;puts (_%%[_,%p]).sub(/[[:upper:]]/,&:swapcase)";puts (_%[_,"helloworLD"]).sub(/[[:upper:]]/,&:swapcase)

_="_=%p;puts (_%%[_,%p]).sub(/[[:upper:]]/,&:swapcase)";puts (_%[_,"helloworlD"]).sub(/[[:upper:]]/,&:swapcase)

_="_=%p;puts (_%%[_,%p]).sub(/[[:upper:]]/,&:swapcase)";puts (_%[_,"helloworld"]).sub(/[[:upper:]]/,&:swapcase)

আমি মনে করি এটি পুরো 50% হিসাবে গণনা করে? এক সাথে বন্ধ হতে পারে। এছাড়াও, সম্ভবত রুবিতে আরও ভাল-স্কোরিং নন-বোনাস সমাধান রয়েছে।

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

কৌতুকটি হ'ল বিন্যাসের স্ট্রিংটি উভয় স্ট্রিংকে নিজেই রেখার জন্য, কুইনিং এবং হ্যালো ওয়ার্ল্ড স্ট্রিংকে ব্যবহার করতে হয়, যাতে এটি কেবল একবার প্রদর্শিত হয়।


1

পিএইচপি, 297 - 40% = 178.2 বাইট

আসলেই প্রতিযোগিতামূলক নয় তবে এটি মজাদার ছিল

<?ob_start(function($s){$s=substr(str_replace(0,0+(int)true,$s),!i,ord(I)+ord(I));$h=hello.world;$h[0]=$h[0]^' ';return "<"."?".$s."?".">".$s.$h;});?>ob_start(function($s){$s=substr(str_replace(0,0+(int)true,$s),!i,ord(I)+ord(I));$h=hello.world;$h[0]=$h[0]^' ';return "<"."?".$s."?".">".$s.$h;});

এটি এই কুইনের একটি প্রকরণ:

<?
ob_start(function($b){ return "<"."?\n$b?".">\n$b"; });?>
ob_start(function($b){ return "<"."?\n$b?".">\n$b"; });

তবে এটি আউটপুটে "হেলিওরল্ড" যুক্ত করে এবং এর সাথে প্রতিস্থাপন 0করে 0+1(পরবর্তী পুনরাবৃত্তিতে এবং এর 1সাথে 1+1)। substrনতুন "হেলিওর্ল্ড" যুক্ত হওয়ার আগে যে কোনও বিদ্যমান "হেলিওর্ল্ড" আউটপুট ব্যবহার করা সরিয়ে ফেলা হবে।

বিভিন্ন আউটপুট পেতে, "হেলিওরল্ড" এর একটি অক্ষর মূলধন হয়ে যায় (বর্ধিত সংখ্যা দ্বারা নির্ধারিত)। এটি প্রাসঙ্গিক কোড:

$h=hello.world;$h[0]=$h[0]^' '

এখানে এবং নম্বর প্রতিস্থাপন ব্যতীত কোনও নম্বর ব্যবহার না করা একটি চ্যালেঞ্জ ছিল

str_replace(0,0+(int)true,$s)

সেখানে যদি আপনার আগে থেকেই দেখতে যে +1ধরা হত +(int)true

সাবস্ট্রিং যুক্তিগুলির জন্য আমার প্রয়োজন 0, 146:

!i, ord(I)+ord(I)

খালি খালি স্ট্রিং "i" জোর করে trueএবং উপেক্ষিত হয়। falseএকটি বৈধ পূর্ণসংখ্যার যুক্তি এবং এটির মতো আচরণ করা হয় 0ord(I)"আমি" এর 73 এর ASCII মান

আউটপুট (1 ম পুনরুক্তি):

<?ob_start(function($s){$s=substr(str_replace(1,1+(int)true,$s),!i,ord(I)+ord(I));$h=hello.world;$h[1]=$h[1]^' ';return "<"."?".$s."?".">".$s.$h;});?>ob_start(function($s){$s=substr(str_replace(1,1+(int)true,$s),!i,ord(I)+ord(I));$h=hello.world;$h[1]=$h[1]^' ';return "<"."?".$s."?".">".$s.$h;});Helloworld

আউটপুট (২ য় পুনরাবৃত্তি):

<?ob_start(function($s){$s=substr(str_replace(2,2+(int)true,$s),!i,ord(I)+ord(I));$h=hello.world;$h[2]=$h[2]^' ';return "<"."?".$s."?".">".$s.$h;});?>ob_start(function($s){$s=substr(str_replace(2,2+(int)true,$s),!i,ord(I)+ord(I));$h=hello.world;$h[2]=$h[2]^' ';return "<"."?".$s."?".">".$s.$h;});hElloworld

আউটপুট (দশম পুনরাবৃত্তি):

এটি শেষ বৈধ আউটপুট তবে কোনও বৈধ প্রোগ্রাম নয়

<?ob_start(function($s){$s=substr(str_replace(10,10+(int)true,$s),!i,ord(I)+ord(I));$h=hello.world;$h[10]=$h[10]^' ';return "<"."?".$s."?".">".$s.$h?>ob_start(function($s){$s=substr(str_replace(10,10+(int)true,$s),!i,ord(I)+ord(I));$h=hello.world;$h[10]=$h[10]^' ';return "<"."?".$s."?".">".$s.$hhelloworlD

"হ্যালো ওয়ার্ল্ড" স্ট্রিংগুলি খুঁজতে ডানদিকে স্ক্রোল করুন!


কেবল বুঝতে পেরেছি যে আমি (int)true`` !! i` এ পরিবর্তন করতে এবং 12 বাইট সংরক্ষণ করতে পারি । এটি আরও কিছুটা পরে গল্ফ করার চেষ্টা করবে
ফ্যাবিয়ান শেমংলার

1

পিপ, 48 - 50% = 24

V Y"`V Y`.RPyRh:ST`helloworld`UCh@<0.h@>0R0o+0"

যা নিম্নলিখিত হিসাবে বিকশিত হয়:

V Y"`V Y`.RPyRh:ST`helloworld`UCh@<1.h@>1R1o+1"
V Y"`V Y`.RPyRh:ST`Helloworld`UCh@<2.h@>2R2o+2"
V Y"`V Y`.RPyRh:ST`HElloworld`UCh@<3.h@>3R3o+3"
V Y"`V Y`.RPyRh:ST`HELloworld`UCh@<4.h@>4R4o+4"
V Y"`V Y`.RPyRh:ST`HELLoworld`UCh@<5.h@>5R5o+5"
V Y"`V Y`.RPyRh:ST`HELLOworld`UCh@<6.h@>6R6o+6"
V Y"`V Y`.RPyRh:ST`HELLOWorld`UCh@<7.h@>7R7o+7"
V Y"`V Y`.RPyRh:ST`HELLOWOrld`UCh@<8.h@>8R8o+8"
V Y"`V Y`.RPyRh:ST`HELLOWORld`UCh@<9.h@>9R9o+9"
V Y"`V Y`.RPyRh:ST`HELLOWORLd`UCh@<10.h@>10R10o+10"
V Y"`V Y`.RPyRh:ST`HELLOWORLD`UCh@<11.h@>11R11o+11"
V Y"`V Y`.RPyRh:ST`HELLOWORLD`UCh@<12.h@>12R12o+12"

শেষ আউটপুটটি অবৈধ হওয়ার কারণে the HELLOWORLD পরিবর্তিত হয়নি। (আমি বোনাসটি সঠিকভাবে না করে থাকলে আমাকে সংশোধন করুন))

এই প্রশ্নের জন্য ধন্যবাদ, আমি সবেমাত্র একটি নতুন কুইন কৌশল আবিষ্কার করেছি! বেস কুইনটি হ'ল V Y"`V Y`.RPy":

  Y"         "  Yank that string into the variable y
V               Evaluate it as a Pip expression:
          RPy   y wrapped in double quotes (repr)
    `V Y`.      Prepend that regex pattern
                When this is evaluated, it returns a pattern object, which is
                auto-printed--conveniently, without the `` delimiters

আমাদের অতিরিক্ত কোড স্ট্রিংটিতে পরিবর্তন করে y -ইনগ্রেড করার আগে, নিম্নরূপ:

  • বামতম যেটিতে বর্তমান হেলিওর্ল্ডটি প্রতিস্থাপন করুন 0 অক্ষরগুলি বড়হীন;
  • এর সমস্ত সংঘটন প্রতিস্থাপন 0সঙ্গে o+0(যেখানে oএকটি builtin পরিবর্তনশীল 1 সমান যায়)।

পরবর্তী বারের কোডের সংখ্যাটির 1পরিবর্তে 0, এবং আরও


1

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

function(){return '("hello world").replace(" ","")'}

পরীক্ষা

=>

<='("hello world").replace(" ","")'

=> eval('("hello world").replace(" ","")')

<= 'helloworld'



1

বিবিসি বেসিক, 56 বাইট

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

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

ইনপুট কোড:

V.80,46,34:P."helloworld";:V.8,68,34,59:P.":V.8,8,76,68"

প্রথম আউটপুট:

P."helloworlD";:V.8,8,76,68

দ্বিতীয় আউটপুট:

helloworLD

অনলাইনে https://bbc.godbolt.org/ এ পরীক্ষা করা যায়


আমি স্পষ্টতই কখনও বিবিসি বেসিক ব্যবহার করি নি, তবে এটি কীভাবে পরীক্ষা করা যায়? যদি আমি এটি লিঙ্কযুক্ত এমুলেটরটিতে আটকান তবে শেষ লাইনটি আমার জন্য "ভুল" আউটপুট বলে মনে হচ্ছে।
আমার সর্বনাম

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