1, 2, 3, 14… নাকি 15?


32

আইরিশ রক ব্যান্ড ইউ 2 এর একটি সুপরিচিত গানটি স্প্যানিশ ভাষায় "1, 2, 3, 14" (" ইউনো, ডস, ট্রেস, ক্যাটোরস ") দিয়ে গায়ক বোনো দিয়ে শুরু হয়েছিল ।

এই সংখ্যার তাত্পর্য হিসাবে বিভিন্ন তত্ত্ব রয়েছে । স্পষ্টতই সরকারী ব্যাখ্যাটি হ'ল " আমরা সেই রাতে খুব বেশি জল পান করি "। তবে আরও একটি আকর্ষণীয় অনুমান আছে: বোনো যেমন ওইআইএস-র কিছু সংখ্যার পূর্ণসংক্রমের উল্লেখ করছে, যেমন

A107083 :

পূর্ণসংখ্যা kযেমন 10^k + 31প্রধান।
1, 2, 3, 14, 18, 44, 54, ...

একটি সাক্ষাত্কারে, "কেন 14" অনিবার্য প্রশ্ন জিজ্ঞাসা করা হলে, বনো স্বীকার করেছিলেন যে তিনি এই সংখ্যাটি থেকে কিছুটা ক্লান্ত হয়ে পড়েছিলেন। সাংবাদিক পরিবর্তে "15" পরামর্শ দিয়েছিলেন, এবং সেই রাতের কনসার্টে গানের কথাগুলি সত্যিই "1, 2, 3, 15" তে পরিবর্তিত হয়েছিল। (গল্পটি স্প্যানিশ ভাষায় এখানে পড়া যায় )। বেশ সম্ভবত সাংবাদিক থেকে অনুপ্রেরণা নিয়েছেন

A221860 :

সূচকগুলি kএমন যে prime(k) - kএকটি শক্তি 2, কোথায় prime(k)- kপ্রথমতম।
1, 2, 3, 15, 39, 2119, 4189897, ...

চ্যালেঞ্জ

একই ভাষায় দুটি প্রোগ্রাম লিখুন। প্রথমটির জন্য একটি ইনপুট নেওয়া উচিত nএবং A107083 -রn মেয়াদে আউটপুট নেওয়া উচিত , বা প্রথম পদগুলি। একইভাবে, দ্বিতীয়টি A221860--এর মেয়াদে বা প্রথম পদগুলিকে আউটপুট করে ।nnn

স্কোর হল সমষ্টি এর লেন্থ দুই প্রোগ্রামের, বাইটে, প্লাস বর্গক্ষেত্র এর Levenshtein দূরত্ব দুই প্রোগ্রামের বাইট উপস্থাপনা মধ্যে।

যদি একটি অক্ষর এনকোডিং ব্যবহার করা হয় যাতে প্রতিটি অক্ষর একটি বাইটের সাথে মিলে যায় তবে এই স্ক্রিপ্টটি লেভেনস্টেইনের দূরত্ব পরিমাপ করতে ব্যবহার করা যেতে পারে।

উদাহরণস্বরূপ, যদি দুটি প্রোগ্রাম হয় abcdefghএবং bcdEEfg, স্কোর হয় 8 + 7 + 4^2 = 31

সর্বনিম্ন স্কোর জয়।

অ্যাডিশনাল বিধি

  • আউটপুটটি প্রতিটি অনুক্রমের জন্য স্বতন্ত্রভাবে 1ভিত্তিযুক্ত বা 0ভিত্তিযুক্ত হতে পারে (সুতরাং প্রোগ্রামগুলির মধ্যে একটি যদি 1বেসড এবং অন্যটি বেসড থাকে তবে এটি অনুমোদিত হয় 0)।

  • প্রতিটি প্রোগ্রাম, ধারাবাহিকভাবে কিন্তু অন্যের থেকে স্বতন্ত্রভাবে হয়-হয় nটার্ম বা প্রথম nপদগুলিকে আউটপুট দেয় ।

  • প্রোগ্রাম বা ফাংশন অনুমোদিত প্রতিটি ক্রম জন্য স্বাধীনভাবে।

  • ইনপুট এবং আউটপুট অর্থ এবং বিন্যাস যথারীতি নমনীয়স্ট্যান্ডার্ড লুফোলগুলি নিষিদ্ধ

উত্তর:


20

জেলি , 16 + 16 + 1² = 33

A107083

⁵*+31ÆḍÆNB>/
1Ç#

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

A221860

⁵*+31ÆạÆNB>/
1Ç#

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

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

1Ç#           Main link. Argument: n

1             Set the return value to 1.
 Ç#           Call the helper link with arguments k, k + 1, k + 2, ... until n of
              them return a truthy value. Return the array of n matches.


⁵*+31ÆḍÆNB>/  Helper link. Argument: k

⁵*            Yield 10**k.
  +31         Yield 10**k + 31.
     Æḍ       Count the proper divisors of 10**k + 31.
              This yields c = 1 if 10**k + 31 is prime, an integer c > 1 otherwise.
       ÆN     Yield the c-th prime.
              This yields q = 2 if 10**k + 31 is prime, a prime q > 2 otherwise.
         B    Binary; yield the array of q's digits in base 2.
          >/  Reduce by "greater than".
              This yields 1 if and only if the binary digits match the regex /10*/,
              i.e., iff q is a power of 2, i.e., iff 10**k + 31 is prime.


⁵*+31ÆạÆNB>/  Helper link. Argument: k

     Æ        Unrecognized token.
              The token, as well as all links to its left, are ignored.
       ÆN     Yield p, the k-th prime.
      ạ       Take the absolute difference of k and p, i.e., p - k.
         B    Binary; yield the array of (p - k)'s digits in base 2.
          >/  Reduce by "greater than".
              This yields 1 if and only if the binary digits match the regex /10*/,
              i.e., iff p - k is a power of 2.


4

জেলি , 12 + 12 + 8² = 88 বাইট

1, 2, 3, 14

ÆN_µæḟ2=
1Ç#

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

1, 2, 3, 15

10*+31ÆP
1Ç#

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


1) এটি নবম পদটি আউটপুট করা উচিত, প্রথম এন পদগুলি নয় 2) আরে, আমাদের একটি স্নিপেটগুলি প্রায় একই রকম! 3) উহহ ... যে 10খুব দীর্ঘ অনুভূত।
এরিক আউটগল্ফার

1) এন-তম শব্দটি আউটপুট করার পরিবর্তে প্রতিটি প্রোগ্রাম স্বাধীনভাবে প্রথম এন শর্তাবলী আউটপুট করতে পারে।
লিকি নুন

এইচএম, যাতে আমার উত্তর ধরণের একটি ছোট স্কোর করতে হবে।
এরিক দি আউটগল্ফার

@ এরিকথিউটগলফার এই বিভ্রান্তির জন্য দুঃখিত, আমি বৃহত্তর স্পষ্টতার জন্য মূল পাঠ্যে এটি অন্তর্ভুক্ত করেছি (পূর্বে এটি কেবল "অতিরিক্ত নিয়মের" অধীনে ছিল)
লুইস মেন্ডো


3

MATL , 17 + 17 + 7² = 83

1, 2, 3, 14, ... (17 বাইট)

0G:"`Q11qy^31+Zp~

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

1, 2, 3, 15, ... (17 বাইট)

0G:"`QtYqy-Bzq~p~

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

উভয়ই 0G:"`Qকোনও শর্ত পূরণ হওয়ার nসময় কাউন্টার চালানো এবং ফিরে আসার অনুরূপ স্কিম নিয়োগ করে । আসল প্রোগ্রামটি তখন মোটামুটি সোজা। 15বৈকল্পিক কিছু খুটি (হয়েছে ~p~যখন,) Levenshtein দূরত্ব কমানোর জন্য 14একটি প্রোগ্রাম একটি নিয়োগ 11qyবদলে t10wভাল অন্যান্য প্রোগ্রাম মেলে।

ভাগ করা অংশ:

0      % Push counter (initially zero)
 G:"   % Loop `n` times
    `  % Do .... while true
     Q % Increment counter

শীর্ষস্থানীয় প্রোগ্রাম:

11q         % Push 10
   y        % Duplicate counter
    ^       % Power
     31+    % Add 31
        Zp  % isprime
          ~ % If not, implicitly continue to next iteration. 
            % Else, implicit display of counter.

নীচের প্রোগ্রাম:

tYq         % Nth prime based on counter
   y-       % Duplicate counter, subtract from nth prime.
     Bzq    % Number of ones in binary presentation, minus one (only zero for powers of two).
        ~p~ % Filler, effectively a NOP.
            % If not zero, implicitly continue to next iteration
            % Else, implicitl display of counter.

1

05AB1E (উত্তরাধিকার) , 10 + 11 + 6 2 = 84 69 57 বাইট

1, 2, 3, 14, ... (A107083)

ε>а32<+p

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

1, 2, 3, 15, ... (A221860)

ε>Ð<ØαD<&_

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

উভয় আউটপুট 1-ভিত্তিক এনম মান।

, 05AB1E উত্তরাধিকার সংস্করণ ব্যবহার করে যেহেতু এটা আছে ½( বৃদ্ধি counter_variable1 যদি স্ট্যাকের উপরে truthy হয় পরোক্ষভাবে প্রতিটি পুনরাবৃত্তির পর) µ-loops ( যখন counter_variableসমান নয়একটিতবুও, করুন ... )।

ব্যাখ্যা:

Î            # Push 0 and the input
 µ           # While the counter_variable is not equal to the input yet:
  >          #  Increase the top by 1
   Ð         #  Triplicate it (which is our `k`)
    °32<+    #  Take 10 to the power `k`, and add 31
         p   #  Check if this is a prime
             #  (implicit: if it is a prime, increase the counter_variable by 1)
             # (implicitly output the top of the stack after the while-loop)

Î            # Push 0 and the input
 µ           # While the counter_variable is not equal to the input yet:
  >          #  Increase the top by 1
   Ð         #  Triplicate it (which is out `k`)
           #  Get the 0-indexed k'th prime
      α      #  Get the absolute difference of this prime with the copied `k`
       D<&   #  Calculate `k` Bitwise-AND `k-1`
          _  #  And check if this is 0 (which means it's a power of 2)
             #  (implicit: if it is 0, increase the counter_variable by 1)
             # (implicitly output the top of the stack after the while-loop)
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.