অ্যানগ্রামগ্রাম কোড


10

এর আবার চেষ্টা করুন।

এই প্রতিযোগিতার উদ্দেশ্যটি হ'ল দুটি টুকরা কোড তৈরি করা যা একে অপরের অ্যানগ্রগ্রাম হয় (দু'জনকে অবশ্যই পৃথক ক্রমে একই বাইট থাকতে হবে) এবং তারা নিম্নলিখিত কাজগুলি করবে:

  • একটি ইনপুটযুক্ত সংখ্যাটি সুখী বা প্রধান কিনা তা পরীক্ষা করতে হবে এবং সংখ্যাটি যদি হয় তবে (উদাহরণস্বরূপ, 7আউটপুট অবশ্যই আবশ্যক happy primeএবং 4আউটপুট অবশ্যই sad non-prime)।

  • অন্যটিকে অবশ্যই তার কোড আকারকে বাইট হিসাবে শব্দ হিসাবে আউটপুট করতে হবে (একটি 60-বাইট প্রোগ্রাম আউটপুট দেয় sixty, 39-বাইট প্রোগ্রাম আউটপুট দেয় thirty-nine)।

নিয়মাবলী সম্পর্কে যদি কোনও ব্যাখ্যা প্রয়োজন হয় তবে আমাকে বলতে দ্বিধা করবেন না।

এটি একটি কোড গল্ফ প্রতিযোগিতা, তাই সংক্ষিপ্ততম প্রোগ্রামের জয়!


কোনটি /*program1*/program2তখন থেকে বাধা দেয় program1/*program2*/? আমি মনে করি আপনার মন্তব্যগুলি অস্বীকার করা উচিত।
উইলিয়াম বার্বোসা 16

@ উইলিয়াম বারবোসা কেন? এটি খুব কমই সমাধান হতে পারে।
মার্টিন এন্ডার

তবে আপনি কিছু অংশ ভাগ করতে পারেন এবং অন্যকে ভাগ করে নিতে পারেন যা এটি আরও সহজ করে তোলে
গর্বিত হাসেলেলার

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

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

উত্তর:


6

সিজেম, 80 49 48 টি অক্ষর

আপডেট : সংখ্যার স্কোয়ারের যোগফল গণনা করতে ডেনিসের প্রয়োগ দ্বারা অনুপ্রাণিত, এখানে একটি সংক্ষিপ্ত সংস্করণ রয়েছে

হ্যাপি / স্যাড প্রাইম / নন-প্রাইম:

ri:T{Ab2f#:+}G*X="happy""sad"?STmp4*"non-prime">

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

ri:T                                "Read input as integer and store it in T"
    {       }G*                     "Run this code block 16 times"
     Ab                             "Convert the number into base 10"
       2f#                          "Calculate square of each digit"
          :+                        "Sum all the squared digits and put the sum on stack"
X=                                  "Compare the sum after 16th iteration to 1"
  "happy""sad"?                     "If sum is 1, put `happy` to stack, otherwise `sad`"
               ST                   "Put space on stack then put the value of T on stack"
                 mp4*               "Put 4 to stack if input is prime, otherwise 0"
                     "non-prime">   "Put `non-prime` to stack and slice out first four characters if the input number is prime"

আটচল্লিশ

""A"forTy-eiGhT""ri:{b2#:+}*X=appsadSmp4*nnpm>"?

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

""                                  "Push empty string to stack"
  A                                 "Push 10 to stack"
   "forTy-eiGhT"                    "Push `forTy-eiGhT` to stack"
                "ri:....pm>"        "Push this string to stack too"
                            ?       "Keep `forTy-eiGhT` on stack and pop the other string"

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

প্রথম প্রোগ্রামটি STDIN থেকে নম্বরটি পড়ে


আমার আসল 80 টি চরিত্রের সমাধান

হ্যাপি / স্যাড প্রাইম / নন-প্রাইম:

r:N{1/~]{i_*T+:T;}/T_s\1=:H!X):XK<&0:T;}g;H"happy""sad"?SNimp"prime"_"non-"\+?:Y

আশি

"eigHTY""r:N{1/~]{i_*T+:T}/_s\1=:H!X):XK<&0:T}happysad?SNmp";"prim_";"non-\?:+";

4

সিজেম, 50 49 বাইট

সুখ এবং প্রাথমিকতা পরীক্ষা

li_{Ab2f#:+}30*(T="happy""sad"?S@mp4*"non-prime">

এসটিডিআইএন থেকে একটি সংখ্যা পড়ে। উভয় পরীক্ষা কেবলমাত্র 64-বিট পূর্ণসংখ্যার জন্য কাজ করে।

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

নিজস্ব দৈর্ঘ্য

A"forTy-nine""l_{b2#:+}30*(=happsadS@mp4*pim>"?""

টাইনাইটি জন্য প্রিন্ট ।


31-বাইট উন্নতির জন্য +1 এবং "ফোটাইনেইন"।
জোশিয়ার উইনস্লো

3

গল্ফস্ক্রিপ্ট - 81

এই সংখ্যাটি যদি কোনও সংখ্যা খুশি এবং / অথবা প্রধান হয় তবে এই প্রোগ্রামটি পরীক্ষা করে।

~.:a;0.{).a\%!@+\}a*;2="""non-"if"prime"@ {`0\{48-.*+}/}9*("sad ""happy "if@@#get

এই প্রোগ্রামটি, শেষের একটি অ্যানামগ্রাম "আশি এক" আউটপুট দেয় (এটি একটি শব্দ হিসাবে বাইটাইজ)।

;"eighty-one"#   !""""""""%()***++-..../002489:;=@@@@\\\`aaaaadffiimnppprs{{{}}}~

এটি একটি উদাহরণ হিসাবে পরিবেশন করা উচিত।


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

আমি দেখতে পাচ্ছি যে লোকেরা আপনাকে প্রশ্নটি লেখার বিষয়টি লক্ষ্য করছে না এবং আপনাকে উজ্জীবিত করছে ... আমি মার্টিনের সাথে সম্পূর্ণরূপে একমত।
গর্বিত হাসেলেলার

@ প্রফেসহেস্কিলার স্ব-উত্তর দেওয়ার ক্ষেত্রে একেবারেই ভুল নেই।
জাস্টিন 17

আমি বলছি নিজের উত্তর দেওয়া বা মন্তব্য কোড দেওয়াতে কোনও ভুল নেই।
জোশিয়াহ উইনস্লো

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

1

জে - 87 চর

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

((sad`happy{~1 e.(,[:+/@:*:,.&.":@{:)^:(1-{:e.}:)^:_);@,' ';'gtv]non-prime'}.~4+4*1&p:)
'((ad`app{~1 .(,[:+/@:*:,.&.":@{:)^:(1-{:.}:)^:_);@, ;onprm}.~4+4*1&p:)']'eighty-seven'
('(ad`app{~1 .(,[:+/@:*:,.&.:@{:)^:(1-{:.}:)^:);@, ;onprm}.~4+4*1&p:']'eighty-seven'"_)

উপরের লাইনটি একটি ক্রিয়া যা একটি পূর্ণসংখ্যা গ্রহণ করে এবং এর সুখ এবং আদিপুস্তাকে আউটপুট স্ট্রিং হিসাবে নির্ণয় করে। দ্বিতীয় লাইনটি হ'ল স্ট্রিং প্রত্যাবর্তনের একটি অভিব্যক্তি eighty-seven, তৃতীয়টি একই ধ্রুবক হিসাবে কাজ করে। আমি উভয়ই অন্তর্ভুক্ত করেছি কারণ তারা উভয়ই সম্ভব ছিল এবং কারণ প্রোগ্রামের বিপরীতে ফাংশন জবাব সম্পর্কে রায় কী হবে তা আমি জানি না, এবং জে-এর কোনও অ-যুক্তি ফাংশন নেই — আপনি কেবল একটি ফাংশন দেবেন ডামি যুক্তি।

আমরা বেশিরভাগ চরগুলি সুখের জন্য যাচাই করে ফেলেছি। (,[:+/@:*:,.&.":@{:)একটি প্রধান সংস্থা যা কোনও সংখ্যার অঙ্কের স্কোয়ারের যোগফল দেয় এবং (1-{:e.}:)সেই সংখ্যাটি এখনও ঘটেছে কিনা তা পরীক্ষা। sad`happy{~1 e.এটিকে একটি শব্দের ফলাফলে রূপান্তরিত করে এবং আমরা এটি স্ট্রিংয়ের সামনের সাথে সংযুক্ত করি non-prime, সংখ্যাটি প্রকৃতপক্ষে যদি প্রধান হয় তবে সম্ভাব্যভাবে চারটি অক্ষর কেটে ফেলা হবে।

অ্যানগ্রামে আমরা কেবল সমস্ত বিট লুকিয়ে রাখি যা 'eighty-seven'স্ট্রিংয়ে নেই যা আমরা উপেক্ষা করি। জেদের পুনরায় ব্যবহারের জন্য আরও বেশি চিঠি থাকলে আমি আরও ভাল করতে পারি, তবে এটি হ'ল না oh


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