সর্বনিম্ন


12

পটভূমি

নিম্নলিখিত ক্রম বিবেচনা করুন ( OEIS এ A051935 ):

  • শব্দটি দিয়ে শুরু করুন ।2
  • সর্বনিম্ন পূর্ণসংখ্যা চেয়ে চেয়ে বড় এটি প্রাইম হয়।2 2 + এনn22+n
  • সর্বনিম্ন পূর্ণসংখ্যা খুঁজুন চেয়ে বড় যেমন যে মৌলিক ইত্যাদি এন 2 + + N + + এন 'nn2+n+n

আরও একটি আনুষ্ঠানিক সংজ্ঞা:

an={2if n=0min{xNx>an1 and (x+i=0n1ai) is prime}otherwise

ক্রমটির প্রথম কয়েকটি শর্তাদি (দয়া করে এগুলিকে পরীক্ষার কেস হিসাবে উল্লেখ করুন):

2, 3, 6, 8, 10, 12, 18, 20, 22, 26, 30, 34, 36, 42, 44, 46, 50, 52, 60, 66, 72, 74, ...

কার্য

আপনার কাজটি নিম্নোক্ত যে কোনও উপায়ে এই ক্রমটি তৈরি করা:

  • এর শর্তগুলি অনির্দিষ্টকালের জন্য আউটপুট করুন।
  • প্রদত্ত n , আউটপুট an ( nth শব্দ, 0 বা 1 ইনডেক্সড)।
  • প্রদত্ত n , আউটপুট {a1,a2,,an} (প্রথম n পদ)।

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


4
টিপস যখন চ্যালেঞ্জ লেখা এড়াতে: মৌলিক সংখ্যার । আপনি আদিমতা বাদে অন্য কিছু ব্যবহার করতে পারতেন।
Okx

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

উত্তর:


4

ব্র্যাচল্যাগ , 13 বাইট

~l.<₁a₀ᵇ+ᵐṗᵐ∧

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

অনুক্রমের প্রথম এন পদগুলির তালিকা আউটপুট ।

?~l.<₁a₀ᵇ+ᵐṗᵐ∧    Full code (? at beginning is implicit)

?~l.              Output is a list whose length is the input
    <₁            Output is an increasing list
      a₀ᵇ+ᵐ       And the cumulative sum of the output
           ṗᵐ     Consists only of prime numbers
             ∧    No further constraints on output

Explanation for a₀ᵇ+ᵐ:
a₀ᵇ               Get the list of all prefixes of the list
                  Is returned in increasing order of length
                  For eg. [2, 3, 6, 8] -> [[2], [2, 3], [2, 3, 6], [2, 3, 6, 8]]
   +ᵐ             Sum each inner list  -> [2, 5, 11, 19]


4

জেলি , 11 9 বাইট

0Ḥ_ÆnɗСI

এই পুরো প্রোগ্রাম যে লাগে এন একটি আর্গুমেন্ট হিসাবে প্রথম ছাপে এন ক্রম শর্তাবলী।

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

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

0Ḥ_ÆnɗСI  Main link. Argument: n

0          Set the return value to 0.
      С   Accumulating iterate. When acting on a dyadic link d and called with
           arguments x and y, the resulting quicklink executes
           "x, y = d(x, y), x" n times, returning all intermediate values of x.
           Initially, x = 0 and  y = n.
     ɗ       Drei; combine the three links to the left into a dyadic chain.
 Ḥ             Unhalve; double the left argument.
  _            Subtract the right argument.
   Æn          Compute the next prime.
           This computes the partial sums of the sequence a, starting with 0.
        I  Increments; compute the forward differences.

3

05AB1E ভি 2 , 10 বাইট tes

2λλOD₁+ÅNα

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

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

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

2λএকটি(এন)একটি(0)2

λO

λ[একটি(0),একটি(1),...,একটি(এন-1)]O

D₁+

একটি(এন-1)

ÅN

উপরের যোগফলের চেয়ে সর্বনিম্ন মূলতম উত্পন্ন করে।

α

পরিশেষে, উপরের মূল গণনা এবং পূর্বে গণনা করা রাশিটির প্রথম অনুলিপি (সমস্ত পূর্ববর্তী পুনরাবৃত্তির যোগফল) এর মধ্যে পার্থক্যটি পুনরুদ্ধার করুন।

স্ট্রিমটি অনির্দিষ্টকালের জন্য নিখুঁতভাবে STDOUT এ মুদ্রিত হয়।


2

পার্ল 6 , 45 বাইট

2,{first (*+@_.sum).is-prime,@_[*-1]^..*}...*

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

কোনও অলস তালিকায় ফিরে আসে যা ক্রমটি শেষ না করে তৈরি করে।

ব্যাখ্যা:

এটি সিকোয়েন্স অপারেটর ব্যবহার করে ...যা ক্রমটি নির্ধারণ করে:

2,  # The first element is 2
  {  # The next element is:
    first  # The first value that:
          (*+@_.sum).is-prime,  # When added to the sum is a prime
          @_[*-1]^..*  # And is larger than the previous element
  }
...*  # And continue the sequence indefinitely



2

পাইথ ,12 11 বাইট

.f&P-;Z=-;Z

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

Isaacg ধন্যবাদ 1 বাইট সংরক্ষণ করা।

n1 ভিত্তিক সূচক ব্যবহার করে প্রথম এই জাতীয় সংখ্যা উত্পন্ন করে ।

.fপ্রথম kপূর্ণসংখ্যার সন্ধান করে যা শূন্য থেকে শুরু করে একটি নির্দিষ্ট মানদণ্ড পূরণ করে। এখানে, মাপদণ্ডটি হ'ল আমরা যে পূর্ববর্তী প্রাইমটি গণনা করেছি, ;এবং বর্তমান সংখ্যাটিও Zএটি প্রধান ( P)। যদি তা হয় তবে আমরা লজিকাল এবং ফাংশন ( &) এর সংক্ষিপ্ত-সার্কিট আচরণ ব্যবহার করে শেষ গণনা করা প্রাইমও আপডেট করি । দুর্ভাগ্যক্রমে .fডিফল্ট ভেরিয়েবল Zযা আপডেটে একটি বাইট খরচ করে।

ইস্কাকটি যে কৌশলটি বের করেছিল তা হ'ল সর্বশেষ প্রধানের প্রত্যাখ্যানকে সঞ্চয় করা এবং সেই মানটি বর্তমান মানটিকে পরীক্ষা করা। পাইথের মধ্যে এটি সংক্ষিপ্ত, যেহেতু প্রাইমালিটি চেকটি ওভারলোড হয়েছে: ধনাত্মক সংখ্যায় এটি প্রধান কারণটি খুঁজে পায় যখন নেতিবাচক সংখ্যায় এটি নির্ধারণ করে যে সংখ্যার ইতিবাচক মানটি প্রধান is

এটি কমবেশি অনুবাদ করে:

to_find = input()
last_prime = 0
current = 0
results = []
while to_find > 0:
    if is_prime( current + last_prime ):
        results.append( current )
        to_find -= 1
        last_prime += current
    current += 1
print results

-1 বাইট _+সহ -এবং এর +সাথে প্রতিস্থাপন করুন -
isaacg

@ আইস্যাকগ এটি বেশ চালাক! আমি এটি সম্পাদনা করব
FryAmTheEggman

2

এমএটিএল , 21 বাইট

O2hGq:"t0)yd0)+_Yqh]d

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

অনুক্রমের প্রথম এন পদ আউটপুট হয় ।

ব্যাখ্যা:

প্রাইমগুলির একটি তালিকা তৈরি করে (প্রাথমিক 0 সহ), এবং শেষে তালিকায় ক্রমাগত প্রাইমগুলির মধ্যে পার্থক্যগুলি দেখায়।

              % Implicit input, say n
O2h           % Push P = [0, 2] on the stack 
Gq:"          % for loop: 1 to n-1
  t0)           % Take the last element of P
                %  Stack: [[0, 2], [2]] (in first iteration)
  yd0)          % Take the difference between the last
                %   two elements of P
                %  Stack: [[0, 2], [2], [2]]
  +             % Add those up
                %  Stack: [[0, 2], [4]]
  _Yq           % Get the next prime higher than that sum
                %  Stack: [[0, 2], [5]]
  h             % Concatenate that to the list P
                %  Stack: [[0, 2, 5]]
]             % End for loop
d             % Get the differences between successive elements of
              %   the final list P

2

হাস্কেল , 67 বাইট

(1#1)2 2
(p#n)s k|p`mod`n>0,n-s>k=k:(p#n)n(n-s)|w<-p*n=(w#(n+1))s k

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

(1#1)2 2এমন একটি ফাংশন যা কোনও ইনপুট নেয় না এবং অসীম তালিকার বাইরে চলে যায়।


পুরানো উত্তর:

হাস্কেল , 88 83 78 76 বাইট

প্রাথমিকতা পরীক্ষাটি এই উত্তর থেকে এবং খ্রিস্টান সিভারস (-২ বাইট) দ্বারা উন্নত ।

-5 বাইট ধন্যবাদ ডাব্লুডাব্লু

2#2
(p#s)n|n<1=p|w<-until(\m->mod(product[1..m-1])m>0)(+1)$s+p+1=(w-s)#w$n-1

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


আপনি ছাড়া করতে পারেন ^2। এটা পরিবর্তিত হবে পরীক্ষামূলক থেকে সম্পৃক্ত মৌলিক পরীক্ষার 4 মৌলিক নয় অথবা , যা এই অ্যাপ্লিকেশনে কোন ব্যাপার না।
ক্রিশ্চান সিভর্স 21

2

05 এ বি 1 ই (উত্তরাধিকার) , 12 বাইট

0U[XN+DpiN,U

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

ব্যাখ্যা

0U              # initialize X as 0
  [             # start an infinite loop
   XN+          # add X to N (the current iteration number)
      Dpi       # if the sum is prime:
         N,     #   print N
           U    #   and store the sum in X

বিভিন্ন কয়েকটি 12-বাইট সমাধান সম্ভব।
এই নির্দিষ্টটিটি যদি 10 টি বাইট হতে পারে তবে যদি আমাদের ব্যবহারযোগ্য পরিবর্তনশীল 0 (প্রথম 1 এবং 2 এর পরিবর্তে) হিসাবে আরম্ভ করা হত।


1

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

f=lambda n,k=1,m=1:m%k*k>n or-~f(n,k+1,m*k*k)
def g(i):
 r=[2]
 for j in range(i):r+=[f(sum(r)+r[-1])-sum(r)]
 return r

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

পরবর্তী উত্তর ফাংশন চ () এই উত্তর থেকে নেওয়া ।

ফাংশন জি () একটি অ-নেতিবাচক পূর্ণসংখ্যা i নিয়ে যায় এবং সেই সূচী পর্যন্ত ক্রমের সমস্ত আইটেমের একটি তালিকা প্রদান করে।



1

পাইথন 2 , 99 98 বাইট

def f(n,s=2,v=2):
 k=s-~v
 while any(k%i<1for i in range(2,k)):k+=1
 return n and f(n-1,k,k-s)or v

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

মিঃ এক্সকোডারকে 1 বাইট থেক্স


1
আমি জানি ... আমি জানি ... আমি এবং আমার বিটওয়াইজ ট্রিকস পেডেন্ট্রি :) তবে আপনি এতে বাইট সংরক্ষণ করতে পারেন k=s-~v
মিঃ এক্সকোডার

@জনাব. এক্সকোডার: আপনার অপরিষ্কার বিটওয়াইজ ম্যাজিক্রি আপনার এখনও শেষ হবে! :)
চ্যাস ব্রাউন

1

হাস্কেল , 101 99 97 বাইট

ফাংশনটি lকোনও যুক্তি নেয় না এবং অসীম তালিকা দেয় list @Ovs এর আরও প্রত্যক্ষ পদ্ধতির চেয়ে সংক্ষিপ্ত নয় (এবং আমি স্পষ্টতই কিছু অংশ তাদের উত্তরটি গঠন করেছি), তবে সম্ভবত এখনও গল্ফযোগ্য?

-২ বাইটের জন্য @ এইচ.পি.উইজকে ধন্যবাদ!

import Data.List
p m=mod(product[1..m-1])m>0
l=2:[until(p.(+sum a))(+1)$last a+1|a<-tail$inits l]

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


1

পাইথন 2 , 82 80 বাইট

s=p=2
i=input()
P=n=1
while i:
 P*=n;n+=1
 if P%n>0<n-s-p:p=n-s;s=n;i-=1
print p

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

এটি অনুক্রমের নবম সংখ্যা (0-ভিত্তিক) আউটপুট করে। সরিয়ে printলুপ, এই প্রথম আউটপুট পরিবর্তন করা যাবে nএকই bytecount এ আইটেম: এটি অনলাইন ব্যবহার করে দেখুন!



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