পূর্বে সম্মিলিত নম্বর


16

সিকোয়েন্স সংজ্ঞা

ধনাত্মক পূর্ণসংখ্যার একটি ক্রম a(n)নিম্নলিখিত হিসাবে তৈরি করুন:

  1. a(0) = 4
  2. a(n)প্রথমটি ব্যতীত প্রতিটি শব্দটি হ'ল সংখ্যার নিম্নতম সংখ্যা যা নিম্নলিখিতগুলি সন্তুষ্ট করে:
    ক) a(n)একটি সংমিশ্রণ সংখ্যা,
    খ) a(n) > a(n-1), এবং
    গ) a(n) + a(k) + 1প্রতিটিটির জন্য একটি সংমিশ্রণ সংখ্যা 0 <= k < n

সুতরাং আমরা দিয়ে শুরু a(0) = 4। পরের এন্ট্রি, a(1)হতে হবে 9। এটা হতে পারে না 5বা 7ঐ যেহেতু যৌগিক নয়, এবং এটা হতে পারে না 6বা 8কারণ 6+4+1=11যৌগিক নয় এবং 8+4+1=13যৌগিক নয়। অবশেষে, 9+4+1=14যা যৌগিক, তাই a(1) = 9

পরবর্তী এন্ট্রি, a(2)হতে হবে 10, যেহেতু এটি চেয়ে সবচেয়ে ছোট সংখ্যা বৃহত্তর এর 9সঙ্গে 10+9+1=20এবং 10+4+1=15উভয় যৌগিক।

পরবর্তী প্রবেশের জন্য 11এবং 13উভয়ই বাইরে আছেন কারণ তারা সম্মিলিত নয়। যেটি যৌগিক নয় 12তা বাইরে রয়েছে 12+4+1=17। যেটি যৌগিক নয় 14তা বাইরে রয়েছে 14+4+1=19। সুতরাং, 15ক্রম পরবর্তী মেয়াদ কারণ 15যৌগিক এবং 15+4+1=20, 15+9+1=25এবং 15+10+1=26সব একে যৌগিক, তাই a(3) = 15

এই ক্রমের প্রথম 30 টি পদ এখানে রয়েছে:

4, 9, 10, 15, 16, 22, 28, 34, 35, 39, 40, 46, 52, 58, 64, 70, 75, 76, 82, 88, 94, 100, 106, 112, 118, 119, 124, 125, 130, 136

এটি OEIS A133764

চ্যালেঞ্জ

একটি ইনপুট পূর্ণসংখ্যা দেওয়া হয় n, nএই ক্রমের মধ্যম আউটপুট ।

বিধি

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

3
শিরোনাম: সংখ্যার পূর্বে সম্মিলিত হিসাবে পরিচিত।
যাদু অক্টোপাস উরন

@ ম্যাজিক অ্যাক্টপাস ইউরান এর যদি শিল্প বা সঙ্গীত নিয়ে কিছু করার থাকে তবে আমি এটি নিয়ে যাব। তবে, আমি বর্তমানে আমার যে শিরোনাম পেয়েছি তা আঁকড়ে রাখব।
অ্যাডমবর্কবর্ক

একটি রসিকতা ছিল আরও বেশি;)।
ম্যাজিক অক্টোপাস উরন

উত্তর:


5

হুশ , 11 বাইট

!üȯṗ→+fotpN

1-ইন্ডেক্স। এটি অনলাইন চেষ্টা করুন!

ব্যাখ্যা

!üȯṗ→+fotpN  Implicit input, a number n.
          N  The list of positive integers [1,2,3,4,..
      f      Keep those
         p   whose list of prime factors
       ot    has a nonempty tail: [4,6,8,9,10,12,..
 ü           De-duplicate wrt this equality predicate:
     +       sum
    →        plus 1
  ȯṗ         is a prime number.
             Result is [4,9,10,15,16,..
!            Get n'th element.

2

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

{(4,->+_{first {none($^a X+0,|(_ X+1)).is-prime},_.tail^..*}...*)[$_]}

এটি 0-সূচিকৃত করে দেখুন

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

{  # bare block lambda with implicit parameter $_

  (  # generate the sequence

    4, # seed the sequence

    -> +_ { # pointy block that has a slurpy list parameter _ (all previous values)

      first

      {  # bare block with placeholder parameter $a

        none(                 # none junction
            $^a               # placeholder parameter for this inner block
          X+                
            0,                # make sure $a isn't prime
            |( _ X+ 1 )       # check all a(k)+1
        ).is-prime            # make sure none are prime
      },

      _.tail ^.. *            # start looking after the previous value
    }

    ...                       # keep generating values until

    *                         # never stop

  )[$_]                       # index into the sequence
}

2

পাইথন 2 , 112 107 বাইট

বাইট করার জন্য মিঃ এক্সকোডারকে ধন্যবাদ ।

n=-1,4;v=5
exec"while any(all((v-~k)%i for i in range(2,v))for k in n):v+=1\nn+=v,;v+=1\n"*input()
print~-v

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


পাইথন 2 , 115 109 বাইট

n=-1,4;v=4;x=input()
while x:v+=1;k=1^any(all((v-~k)%i for i in range(2,v))for k in n);n+=(v,)*k;x-=k
print v

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


2

জাভাস্ক্রিপ্ট (ES6), 83 বাইট

1-ইন্ডেক্স

f=(n,a=[-1,p=4])=>a[n]||f(n,a.some(x=>(P=n=>n%--x?P(n):x<2)(x-=~p),p++)?a:[...a,p])

ডেমো

মন্তব্য

সাহায্যকারী ফাংশন পি () , ফিরে সত্য যদি এন প্রধান, বা মিথ্যা অন্যথায়:

P = n => n % --x ? P(n) : x < 2

এনবি: এটি অবশ্যই x = n দিয়ে কল করা উচিত ।

প্রধান ফাংশন চ () :

f = (               // given:
  n,                //   n = target index
  a = [-1, p = 4]   //   a = computed sequence with an extra -1 at the beginning
) =>                //   p = last appended value
  a[n] ||           // if a[n] exists, stop recursion and return it
  f(                // otherwise, do a recursive call to f() with:
    n,              //   n unchanged
    a.some(x =>     //   for each value x in a[]:
      P(x -= ~p),   //     rule c: check whether x + p + 1 is prime
                    //     rule a: because a[0] = -1, this will first compute P(p)
      p++           //     rule b: increment p before the some() loop starts
    ) ?             //   end of some(); if truthy:
      a             //     p is invalid: use a[] unchanged
    :               //   else:
      [...a, p]     //     p is valid: append it to a[]
  )                 // end of recursive call



0

জাভা 8, 186 173 বাইট

n->{int a[]=new int[n+1],r=a[n]=4;a:for(;n>0;)if(c(++r)<2){for(int x:a)if(x>0&c(r-~x)>1)continue a;a[--n]=r;}return r;}int c(int n){for(int i=2;i<n;n=n%i++<1?0:n);return n;}

0-ইন্ডেক্স।
দুর্ভাগ্যক্রমে প্রাইম-চেকস (বা এই ক্ষেত্রে অ্যান্টি-প্রাইম / সংমিশ্রিত চেকগুলি) জাভাতে এতটা সস্তা নয় ..

ব্যাখ্যা:

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

n->{                     // Method with integer as both parameter and return-type
  int a[]=new int[n+1],  //  Integer-array of size `n+1`
      r=a[n]=4;          //  Start the result and last item at 4
  a:for(;n>0;)           //  Loop as long as `n` is larger than 0
    if(c(++r)<2){        //   Raise `r` by 1, and if it's a composite:
      for(int x:a)       //    Inner loop over the array
        if(x>0           //     If the item in the array is filled in (non-zero),
           &c(r-~x)>1)   //     and if `r+x+1` is a prime (not a composite number):
          continue a;}   //      Continue the outer loop
      a[--n]=r;}         //    Decrease `n` by 1, and put `r` in the array
  return r;}             //  Return the result

// Separated method to check if a given number is a composite number
// (It's a composite number if 0 or 1 is returned, otherwise it's a prime.)
int c(int n){for(int i=2;i<n;n=n%i++<1?0:n);return n;}

0

রুবি + -rprime, 85 75 বাইট

->n{*a=x=4
n.times{x+=1;!x.prime?&&a.none?{|k|(x+k+1).prime?}?a<<x:redo}
x}

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

একটি ল্যাম্বদা 0-সূচকযুক্ত নবম উপাদানটি প্রদান করছে।

-10 বাইট: ব্যবহার করুন ... এবং একটি শর্তাধীন শৃঙ্খলার redoপরিবর্তে একটি টার্নারি অপারেটরloopbreak

Ungolfed:

->n{
  *a=x=4                         # x is the most recent value: 4
                                 # a is the list of values so far: [4]
  n.times{                       # Repeat n times:
    x += 1                       # Increment x
    !x.prime? &&                 # If x is composite, and
      a.none?{|k|(x+k+1).prime?} #   for all k, a(n)+x+1 is composite,
      ? a<<x                     # Add x to a
      : redo                     # Else, restart the block (go to x+=1)
  }
  x                              # Return the most recent value
}


0

সি (জিসিসি) ,  140  138 বাইট

দুটি জোড় বাঁচানোর জন্য @ জোনাথন ফ্রেঞ্চকে ধন্যবাদ!

c(n,i){for(i=1;++i<n;)i=n%i?i:n;i=i>n;}f(n){int s[n],k,j,i=0;for(*s=k=4;i++-n;i[s]=k)for(j=!++k;j-i;)2-c(k)-c(k-~s[j++])?j=!++k:f;n=n[s];}

0-ইন্ডেক্স

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


++k,j=0দ্বিগুণ হতে পারে j=!++k, 138 বাইট
জোনাথন ফ্রেচ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.