সিলভেস্টারের ক্রম


32

সিলভেস্টারের ক্রম, OEIS A000058 , নীচে সংজ্ঞায়িত একটি পূর্ণসংখ্যা ক্রম:

প্রতিটি সদস্য হ'ল পূর্ববর্তী সকল সদস্যের প্লাস একের পণ্য। সিকোয়েন্সের প্রথম সদস্য হলেন 2।

কার্য

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

পরীক্ষার মামলা

আপনি শূন্য বা একটি সূচক ব্যবহার করতে পারেন। (এখানে আমি শূন্য সূচক ব্যবহার করি)

>>0
2
>>1
3
>>2
7
>>3
43
>>4
1807

কোন ইনপুটগুলি পরিচালনা করা হবে বলে আশা করা হচ্ছে? আউটপুট বেশ দ্রুত বৃদ্ধি পায়।
জিওবিট

1
@ জিওবাইটগুলি আপনার ভাষা যতটা সম্ভব পরিচালনা করতে পারে
গম উইজার্ড

একটি অ্যারের যা দিয়ে সূচীবদ্ধ করা হয় nআয় nthক্রম সংখ্যা মেনে নিচ্ছে?
ব্যবহারকারী 6245072

@ ইউজার 6245072 না আপনার নিজের অ্যারেগুলি অবশ্যই ইনডেক্স করতে হবে
গম উইজার্ড

উত্তর:


26

ব্রেন-ফ্লাক , 76 68 58 52 46 বাইট

<>(()())<>{({}[()])<>({({}[()])({})}{}())<>}<>

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

পরিবর্তে এই সম্পর্ক ব্যবহার করে:

সূত্র

যা এই সম্পর্কটি থেকে উত্পন্ন যা ক্রম সরবরাহ করা থেকে পরিবর্তিত হয়েছে:

a(n+1) = a(n) * (a(n) - 1) + 1

ব্যাখ্যা

প্রতিটি কমান্ড কী করে তার একটি ডকুমেন্টেশনের জন্য, দয়া করে গিটহাব পৃষ্ঠাটি দেখুন

ব্রেন-ফ্ল্যাকে দুটি স্ট্যাক রয়েছে, আমি যথাক্রমে স্ট্যাক 1 এবং স্ট্যাক 2 হিসাবে নাম দেব name

ইনপুট স্ট্যাক 1 এ সঞ্চিত আছে।

<>(()())<>             Store 2 in Stack 2.

{                      while(Stack_1 != 0){
  ({}[()])                 Stack_1 <- Stack_1 - 1;
  <>                       Switch stack.
  ({({}[()])({})}{}())     Generate the next number in Stack 2.
  <>                       Switch back to Stack 1.
}

<>                     Switch to Stack 2, implicitly print.

প্রজন্মের অ্যালগরিদমের জন্য:

({({}[()])({})}{}())      Top <- (Top + Top + (Top-1) + (Top-1) + ... + 0) + 1

(                  )      Push the sum of the numbers evaluated in the process:

 {            }               while(Top != 0){
  ({}[()])                        Pop Top, push Top-1    (added to sum)
          ({})                    Pop again, push again  (added to sum)
                              }

               {}             Top of stack is now zero, pop it.
                 ()           Evaluates to 1 (added to sum).

বিকল্প 46-বাইট সংস্করণ

এটি কেবল একটি স্ট্যাক ব্যবহার করে।

({}<(()())>){({}<({({}[()])({})}{}())>[()])}{}

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


1
মাত্র 10 টি বাইট দেখানোর জন্য যে জাভা দেভেল্পারদের মস্তিষ্কের ঝাঁকুনিতে যাওয়া উচিত
রোহান ঝুনঝুনওয়ালা

1
@ রোহানঝুনঝুনওয়ালা আমি আশঙ্কা করি যে এটি অসম্ভব ...
লিকি নুন ২

@ লিক্যনুন এখনও এটি ভাবতে আগ্রহী। ব্রেইন ফ্ল্যাকের কিছু শক্তি রয়েছে, এবং আশ্চর্যরূপে প্রসারিত হচ্ছে
রোহান ঝুনঝুনওয়ালা

5
একটি স্ট্যাক সংস্করণ স্ট্যাক পরিষ্কার। যা মস্তিষ্কের ফ্ল্যাঙ্কে কোডের মডুলারিটির জন্য গুরুত্বপূর্ণ পয়েন্ট হতে থাকে।
গম উইজার্ড

কি দারুন. এটি একটি চিত্তাকর্ষক উত্তর।
DJMcMayhem

12

জেলি , 5 বাইট

Ḷ߀P‘

এটি 0-ভিত্তিক সূচক এবং চ্যালেঞ্জ অনুমান থেকে সংজ্ঞা ব্যবহার করে।

এটি অনলাইন চেষ্টা করুন! বা সমস্ত পরীক্ষার কেস যাচাই করুন

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

Ḷ߀P‘  Main link. Argument: n

Ḷ      Unlength; yield [0, ..., n - 1].
 ߀    Recursively apply the main link to each integer in that range.
   P   Take the product. This yields 1 for an empty range.
    ‘  Increment.

আহ, আমি ভুলে গেছি যে খালি পণ্যটি 1 1.
লিকি নুন

12

হেক্সাগনি , 27 বাইট

1{?)=}&~".>")!@(</=+={"/>}*

দুচোখে:

    1 { ? )
   = } & ~ "
  . > " ) ! @
 ( < / = + = {
  " / > } * .
   . . . . .
    . . . .

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

ব্যাখ্যা

এর ক্রমটি বিবেচনা করুন b(a) = a(n) - 1এবং কিছুটা পুনর্বিন্যাস করুন:

b(a) = a(n) - 1
     = a(n-1)*(a(n-1)-1) + 1 - 1
     = (b(n-1) + 1)*(b(n-1) + 1 - 1)
     = (b(n-1) + 1)*b(n-1)
     = b(n-1)^2 + b(n-1)

এই সিকোয়েন্সটি খুব অনুরূপ তবে আমরা ইনক্রিমেন্টটি খুব শেষ পর্যন্ত পিছিয়ে দিতে পারি, যা এই প্রোগ্রামে একটি বাইট সংরক্ষণ করতে ঘটে।

সুতরাং এখানে বর্ণিত উত্স কোডটি রয়েছে:

এখানে চিত্র বর্ণনা লিখুন
টিমভির হেক্সাগনি কলরার দিয়ে তৈরি ।

এবং এখানে একটি মেমরি চিত্র রয়েছে (লাল ত্রিভুজটি মেমরি পয়েন্টারের প্রাথমিক অবস্থান এবং অরিয়েন্টেশন দেখায়):

এখানে চিত্র বর্ণনা লিখুন
Timwi এর সঙ্গে তৈরি করা হয়েছে EsotericIDE

কোডটি ধূসর পথের উপর দিয়ে শুরু হয় যা বাম কোণটি মোড়ানো করে, তাই প্রাথমিক রৈখিক বিটটি নিম্নলিখিতটি:

1{?)(
1      Set edge b(1) to 1.
 {     Move MP to edge N.
  ?    Read input into edge N.
   )(  Increment, decrement (no-op).

তারপরে কোডটি <একটি শাখা যা হিট করে এবং প্রধান লুপটির শুরু (এবং শেষ) নির্দেশ করে। যতক্ষণ এন প্রান্তের ইতিবাচক মান রয়েছে ততক্ষণ সবুজ পথটি কার্যকর করা হবে uted এই পথটি কয়েক বার গ্রিডের চারপাশে আবৃত হয় তবে এটি আসলে সম্পূর্ণ লিনিয়ার:

""~&}=.*}=+={....(

.তাই প্রকৃত কোড, নো-অপস আছেন:

""~&}=*}=+={(
""             Move the MP to edge "copy".
  ~            Negate. This is to ensure that the value is negative so that &...
   &           ...copies the left-hand neighbour, i.e. b(i).
    }=         Move the MP to edge b(i)^2 and turn it around.
      *        Multiply the two copies of b(i) to compute b(i)^2.
       }=      Move the MP back to edge b(i) and turn it around.
         +     Add the values in edges "copy" and b(i)^2 to compute
               b(i) + b(i)^2 = b(i+1).
          ={   Turn the memory pointer around and move to edge N.
            (  Decrement.

একবার এই হ্রাস কমে Nযাওয়ার পরে 0, লাল পথটি কার্যকর করা হয়:

")!@
"     Move MP back to edge b(i) (which now holds b(N)).
 )    Increment to get a(N).
  !   Print as integer.
   @  Terminate the program.

আপনি কি এই উপর আপনার ব্রুটফর্মার চালাতে পারেন?
ক্যালকুলেটরফলাইন

@ ক্যালকুলেটরফলাইন ব্রুট ফোরার যুক্তিসঙ্গত সময়ে সর্বাধিক by-বাইট প্রোগ্রাম (এবং এমনকি কেবল অনুমানের সাথেও করতে পারে) করতে পারে। আমি 7 বাইটে এটি দূরবর্তীভাবে সম্ভব হতে দেখছি না।
মার্টিন ইন্ডার

তাই? চেষ্টা করে কি ভুল হয়েছে?
ক্যালকুলেটরফলাইন

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

এবং আমি কীভাবে করব?
ক্যালকুলেটরফলাইন

9

জে, 18 14 12 বাইট

এই সংস্করণটি এলোমেলো ধন্যবাদ। আমি পরে বিস্তারিত ব্যাখ্যা লেখার চেষ্টা করব।

0&(]*:-<:)2:

জে, 14 বাইট

মাইল থেকে এই সংস্করণ ধন্যবাদ। ^:নীচে হিসাবে কোনও এজেন্ডার পরিবর্তে পাওয়ার অ্যাডভারব ব্যবহার করুন। আরও ব্যাখ্যা আসতে হবে।

2(]*:-<:)^:[~]

জে, 18 বাইট

2:`(1+*/@$:@i.)@.*

0-ইন্ডেক্স।

উদাহরণ

   e =: 2:`(1+*/@$:@i.)@.*
   e 1
3
   e 2
7
   e 3
43
   e 4
1807
   x: e i. 10
2 3 7 43 1807 3263443 10650056950807 113423713055421862298779648 12864938683278674737956996400574416174101565840293888 1655066473245199944217466828172807675196959605278049661438916426914992848    91480678309535880456026315554816
   |: ,: x: e i. 10
                                                                                                        2
                                                                                                        3
                                                                                                        7
                                                                                                       43
                                                                                                     1807
                                                                                                  3263443
                                                                                           10650056950807
                                                                              113423713055421862298779648
                                                    12864938683278674737956996400574416174101565840293888
165506647324519994421746682817280767519695960527804966143891642691499284891480678309535880456026315554816

ব্যাখ্যা

এটি এমন একটি এজেন্ডা যা দেখে মনে হচ্ছে:

           ┌─ 2:
           │    ┌─ 1
       ┌───┤    ├─ +
       │   └────┤           ┌─ / ─── *
── @. ─┤        │     ┌─ @ ─┴─ $:
       │        └─ @ ─┴─ i.
       └─ *

( (9!:7)'┌┬┐├┼┤└┴┘│─'তখন ব্যবহার করে উত্পন্ন 5!:4<'e')

decomposing:

       ┌─ ...
       │
── @. ─┤
       │
       └─ *

শীর্ষ শাখাটিকে জেরানড Gহিসাবে এবং নীচে নির্বাচক হিসাবে ব্যবহার করে F, এটি হ'ল:

e n     <=>     ((F n) { G) n

এটি স্থির ফাংশন ব্যবহার করে 2:যখন 0 = * n, যখন চিহ্নটি শূন্য হয় (এভাবে nশূন্য হয়)। অন্যথায়, আমরা এই কাঁটাচামচ ব্যবহার করি:

  ┌─ 1
  ├─ +
──┤           ┌─ / ─── *
  │     ┌─ @ ─┴─ $:
  └─ @ ─┴─ i.

নিম্নলিখিত একের পর এক শীর্ষে সিরিজ:

            ┌─ / ─── *
      ┌─ @ ─┴─ $:
── @ ─┴─ i.

আরও বিচ্ছিন্ন করা, */স্ব-রেফারেন্স ( $:) ওভার রেঞ্জ ( i.) এর চেয়ে বেশি পণ্য product


2
আপনি 2(]*:-<:)^:[~]সূত্রটি a(0) = 2এবং 14 বাইট পেতে পাওয়ার পাওয়ার বিশেষণটিও ব্যবহার করতে পারেন a(n+1) = a(n)^2 - (a(n) - 1)। বৃহত্তর মানগুলি গণনা করতে, 2শুরুতে প্রসারিত পূর্ণসংখ্যা হিসাবে চিহ্নিত করতে হবে।
মাইল

উভয় সমাধান খুব সুন্দর। আমি মনে করি আমি v`$:@.uপুনরাবৃত্তির ফর্ম্যাটটি সম্পর্কে অসচেতন ছিলাম । আমি সবসময় এমন ^:vফর্ম্যাট ব্যবহার করি যা প্রায়শই জটিল। @ মাইলস আমিও কখনও (]v)কৌশলটি ব্যবহার করি নি । এটি বুঝতে আমার 5 মিনিট সময় লাগল।
এলোমেলো

1
সম্পূর্ণতার জন্য তৃতীয় ধরণের লুপিং (মাইলের পদ্ধতি ব্যবহার করে 14 বাইট): 2(]*:-<:)~&0~](বা 2:0&(]*:-<:)~])। এবং তাদের 13 বাইট সংমিশ্রণ ]0&(]*:-<:)2:
এলোমেলো

12 বাইট: 0&(]*:-<:)2:। (দুঃখিত, আমি উচিত নয় গলফ মধ্যে মন্তব্য।)
randomra

@ আর্যান্ডোমরা এটি বন্ধনের সত্যই ঝরঝরে ব্যবহার। আমি পড়তে হতো পৃষ্ঠা খুঁজে বের করতে ঠিক কি ঘটেছে যেহেতু স্বাভাবিকভাবে তাতে মনে হতে পারে মধ্যম ক্রিয়া তিন আর্গুমেন্ট গ্রহণ করা হয়।
মাইল

9

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

{(2,{1+[*] @_}...*)[$_]}
{(2,{1+.²-$_}...*)[$_]}

ব্যাখ্যা

# bare block with implicit parameter 「$_」
{
  (
    # You can replace 2 with 1 here
    # so that it uses 1 based indexing
    # rather than 0 based
    2,

    # bare block with implicit parameter 「@_」
    {
      1 +

      # reduce the input of this inner block with 「&infix:<*>」
      # ( the input is all of them generated when using a slurpy @ var )
      [*] @_

      # that is the same as:
      # 「@_.reduce: &infix:<*>」
    }

    # keep calling that to generate more values until:
    ...

    # forever
    *

  # get the value as indexed by the input
  )[ $_ ]
}

ব্যবহার:

my &code = {(2,{1+[*] @_}...*)[$_]}

say code 0; # 2
say code 1; # 3
say code 2; # 7
say code 3; # 43
say code 4; # 1807

# you can even give it a range
say code 4..7;
# (1807 3263443 10650056950807 113423713055421844361000443)

say code 8;
# 12864938683278671740537145998360961546653259485195807
say code 9;
# 165506647324519964198468195444439180017513152706377497841851388766535868639572406808911988131737645185443
say code 10;
# 27392450308603031423410234291674686281194364367580914627947367941608692026226993634332118404582438634929548737283992369758487974306317730580753883429460344956410077034761330476016739454649828385541500213920807

my $start = now;
# how many digits are there in the 20th value
say chars code 20;
# 213441

my $finish = now;
# how long did it take to generate the values up to 20
say $finish - $start, ' seconds';
# 49.7069076 seconds

একটি অ্যারের টুকরা সঙ্গে $_? এটি কোন জাদুবিদ্যা?
জায়েদ

8

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

f n|n<1=2|m<-f$n-1=1+m*m-m

ব্যবহারের উদাহরণ: f 4-> 1807


7

জাভা 7, 46 42 বাইট

int f(int n){return--n<0?2:f(n)*~-f(n)+1;}

সাধারণ সূত্রের সাথে 0-সূচি ব্যবহার করে। আমি অদলবদল n*n-nজন্য n*(n-1)যদিও, যেহেতু জাভা একটি সহজ ক্ষমতা অপারেটর নেই, এবং f()কল দীর্ঘ পেয়ে হয়েছে।


3
f(n)*~-f(n)কাজ করা উচিত.
ডেনিস

1
আমি প্রতি একক বার সেই কৌশলটি কীভাবে ভুলে যাব ? যদি এটি টিপস পৃষ্ঠায় না থাকে তবে এটি নিশ্চিত হয়ে উঠবে।
জিওবিটস

2
return--n<0আরও একটি বাইট সাশ্রয় করে।
ডেনিস




6

সিলোস , 60 বাইট

readIO 
p = 2
lblL
r = p
r + 1
p * r
i - 1
if i L
printInt r

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

সি আমার উত্তর পোর্ট ।


ইয়ে: ডি অবশেষে একটি সিলোস গল্ফার, মজার বিষয় হ'ল এটি স্কালাকে হারিয়েছে :)
রোহান ঝুনঝুনওয়ালা

5

ব্রেন-ফ্লাক , 158 154 বাইট

ফুটো নুন আমাকে এখানে মারছে

({}<(()())>){({}[()]<<>(())<>([]){{}<>({}<<>(({}<>))><>)<>({<({}[()])><>({})<>}{})<>{}([])}{}<>({}())([]){{}({}<>)<>([])}{}<>>)}{}([][()]){{}{}([][()])}{} 

অনলাইনে চেষ্টা করে দেখুন!

ব্যাখ্যা

একটি (0) ইনপুট এর নীচে একটি দুটি রাখুন

({}<(()())>) 

ইনপুট শূন্যের চেয়ে বড় হলেও ইনপুট থেকে একটি বিয়োগ করে ...

{
({}[()]

চুপি ...

<

<> (()) <> গুণনের জন্য অনুঘটক হিসাবে কাজ করতে অন্য স্ট্যাকের উপর রাখুন

যখন স্ট্যাকটি খালি নেই

 ([])
 {
  {}

তালিকার উপরের অংশে সরান এবং অনুলিপি করুন

  <>({}<<>(({}<>))><>)

অনুলিপি দ্বারা অনুঘটকটি গুণ করুন

  <>({<({}[()])><>({})<>}{})<>{}
  ([])
 }
 {}

এক যোগ কর

 <>({}())

ক্রমটি যথাযথ স্ট্যাকের দিকে ফিরে যান

 ([])
 {
 {}
 ({}<>)<>
 ([])
 }
 {}
 <>
>)
}{}

নীচের আইটেমটি ছাড়া সমস্ত (যেমন শেষের সংখ্যাটি তৈরি করা হয়েছে) সরান

([][()])
{
{}
{}
([][()])
}
{}



5

আর, 44 42 41 বাইট

2 বাইট জেডিএলকে ধন্যবাদ সংরক্ষণ করে

1 বাইট সংরক্ষণ করুন ব্যবহারকারীর জন্য ধন্যবাদ5957401

f=function(n)ifelse(n,(a=f(n-1))^2-a+1,2)

1
সমস্যার বিবৃতি থেকে এটি পরিষ্কার নয়, তবে যতক্ষণ nনা নেতিবাচক না হওয়ার গ্যারান্টি দেওয়া হয় ততক্ষণ শর্তটি n>0কেবলমাত্র থেকে কমিয়ে আনা যায় n
জেডিএল

@ জেডিএল চমৎকার! ধন্যবাদ!
মামি

f(n-1)6 বাইট হয়। আমি মনে করি আপনি কোনও বাইট এটিকে কিছু নির্দিষ্ট করে সাশ্রয় করেছেন। যেমনifelse(n,(a=f(n-1))^2-a+1,2)
ব্যবহারকারী5957401

5

ওসিস , 4 বাইট (প্রতিযোগী নয়)

গল্ফিং পরিবার থেকে সম্ভবত আমার শেষ ভাষা! অ-প্রতিদ্বন্দ্বী, যেহেতু ভাষা চ্যালেঞ্জ পোস্ট করে।

কোড:

²->2

বিকল্প সমাধান Zwei ধন্যবাদ :

<*>2

প্রসারিত সংস্করণ:

a(n) = ²->
a(0) = 2

ব্যাখ্যা:

²    # Stack is empty, so calculate a(n - 1) ** 2.
 -   # Subtract, arity 2, so use a(n - 1).
  >  # Increment by 1.

সিপি -1222 এনকোডিং ব্যবহার করে । এটি অনলাইন চেষ্টা করুন!


শেষ গল্ফিং ভাষা? আপনি আর কি করতে যাচ্ছেন না? ডি:
কনর ও'ব্রায়ান

@ কনরও'ব্রায়েন সম্ভবত, আমি এখন ধারণার বাইরে রয়েছি :(
আদনান

এই চ্যালেঞ্জটি দেখার আগে, আমি b<*>2ব্যবহার করতে পেরেছিa(n-1)*(a(n-1)+1)-1
Zwei

@ Zwei খুব ঝরঝরে! আপনি bস্বয়ংক্রিয়ভাবে পূরণ করতে পারেন যেহেতু এটি স্বয়ংক্রিয়ভাবে পূরণ করা হবে (ইনপুটের চেয়ে বরং) :)।
আদনান

1
হ্যাঁ, আমি লক্ষ্য করেছি যে পোস্ট করার পরে। এই ভাষাটি সিকোয়েন্সগুলির জন্য ডিজাইন করা হলেও, এই ভাষাটি কতটা ভাল কাজ করে তা আমি অবাক হয়েছি।
Zwei

3

পাইথন, 38 36 বাইট

ডেনিসকে 2 বাইট ধন্যবাদ

f=lambda n:0**n*2or~-f(n-1)*f(n-1)+1

আইডিয়ন!

পরিবর্তে ক্রম সরবরাহ করা থেকে এই সম্পর্কটি পরিবর্তিত ব্যবহার করে:

a(n+1) = a(n) * (a(n) - 1) + 1

ব্যাখ্যা

0**n*22কখন n=0এবং 0অন্যথায় ফিরে আসে , কারণ পাইথনে থাকার 0**0সংজ্ঞা দেওয়া হয় 1


3

চেডার , 26 বাইট

n g->n?g(n-=1)**2-g(n)+1:2

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

সুন্দর প্রতিমা।

ব্যাখ্যা

n g ->    // Input n, g is this function
  n ?     // if n is > 1
    g(n-=1)**2-g(n)+1   // Do equation specified in OEIS
  : 2     // if n == 0 return 2

এখন 4 বার (প্রায়)
লিকি নুন

আপনি টিআইও লিঙ্কটি সরিয়ে ফেললেন কেন?
লিকি নুন

@ ল্যাকইনুন ওহ, আমি যখন ছিলাম আপনি অবশ্যই সম্পাদনা করেছেন
ডাওনগোট ২




3

সিলোস 201 বাইট

readIO 
def : lbl
set 128 2
set 129 3
j = i
if j z
print 2
GOTO e
:z
j - 1
if j Z
print 3
GOTO e
:Z
i - 1
:a
a = 127
b = 1
c = 1
:b
b * c
a + 1
c = get a
if c b
b + 1
set a b
i - 1
if i a
printInt b
:e

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



1
@ টেক্সক্রাফট্যাগ যাদুবিদ্যা
রোহান ঝুনঝুনওয়ালা

2

জেলি , 7 বাইট

²_’
2Ç¡

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

পরিবর্তে ক্রম সরবরাহ করা এই সম্পর্ক ব্যবহার করুন: a(n+1) = a(n)^2 - a(n) + 1

ব্যাখ্যা

2Ç¡   Main chain, argument in input

2     Start with 2
  ¡   Repeat as many times as the input:
 Ç        the helper link.


²_’   Helper link, argument: z
²     z²
  ’   z - 1
 _    subtraction, yielding z² - (z-1) = z² - z + 1

2

সি, 46 বাইট

s(n,p,r){for(p=r=2;n-->0;p*=r)r=p+1;return r;}

আইডিয়ন!

pপণ্যের অস্থায়ী স্টোরেজ হিসাবে ব্যবহার করে।

মূলত, আমি দুটি ক্রম সংজ্ঞায়িত করেছি p(n)এবং r(n)কোথায় r(n)=p(n-1)+1এবং p(n)=p(n-1)*r(n)

r(n) প্রয়োজনীয় ক্রম হয়।


1
কোনও কারণেই আপনি এখানে আপনার পাইথনের উত্তর থেকে একই সম্পর্ক ব্যবহার করছেন না? এটি অনেক খাটো হওয়া উচিত ...
ডেনিস ২

@ ডেনিস এটি আরও আকর্ষণীয়।
লিকি নুন ২

@ ডেনিস এবং এই উত্তরটি পোর্ট করা
লিকি নুন ২

2

আর, 50 46 44 বাইট

    n=scan();v=2;if(n)for(i in 1:n){v=v^2-v+1};v

পুরো ক্রমটি অনুসরণ করার পরিবর্তে, আমরা কেবলমাত্র পণ্যটির উপর নজর রাখি, যা প্রদত্ত চতুষ্কোণ আপডেটের নিয়মটিকে n> 1 n> 0 পর্যন্ত অনুসরণ করে follows (এই ক্রমটি " এক শূন্যের শুরু " সম্মেলনটি ব্যবহার করে)

শূন্য সম্মেলনে প্রারম্ভিক ব্যবহারটি কয়েকটা বাইট সংরক্ষণ করে যেহেতু আমরা যদি (এন) এর চেয়ে (এন) 1) ব্যবহার করতে পারি


2

জেলিফিশ , 13 বাইট

p
\Ai
&(*
><2

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

ব্যাখ্যা

নীচে থেকে শুরু করা যাক:

(*
<

এটি একটি হুক, যা একটি ফাংশন সংজ্ঞায়িত করে f(x) = (x-1)*x

&(*
><

এটি বর্ধিত ফাংশনটির সাথে পূর্ববর্তী হুকটি রচনা করে যাতে এটি আমাদের একটি ফাংশন দেয় g(x) = (x-1)*x+1

\Ai
&(*
><

শেষ অবধি, এটি একটি ফাংশন উত্পন্ন করে hযা পূর্ববর্তী ফাংশনটির পুনরাবৃত্তি, যতগুলি gসংখ্যার ইনপুট দ্বারা প্রদত্ত।

\Ai
&(*
><2

এবং পরিশেষে, আমরা এই মানটিকে প্রাথমিক মানটিতে প্রয়োগ করি 2pউপরের শুধু ফলাফলের ছাপে।

বিকল্প (এছাড়াও 13 বাইট)

p
>
\Ai
(*
>1

এটি একেবারে শেষ অবধি বৃদ্ধি বৃদ্ধি পায়।






1

আসলে , 14 12 বাইট

এটি 0-সূচি ব্যবহার করে। গল্ফিং পরামর্শ স্বাগত জানাই। এটি অনলাইন চেষ্টা করুন!

2#,`;πu@o`nF

Ungolfing:

2#              Start with [2]
  ,`     `n     Take 0-indexed input and run function (input) times
    ;           Duplicate list
     πu         Take product of list and increment
       @o       Swap and append result to the beginning of the list
           F    Return the first item of the resulting list

1

গল্ফস্ক্রিপ্ট , 12 10 বাইট

ডেনিসকে 2 বাইট ধন্যবাদ

~2\{.(*)}*

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

ব্যবহার a(n) = a(n-1) * (a(n-1)-1) + 1


2
(জন্য সংক্ষিপ্ত 1-; )জন্য সংক্ষিপ্ত 1+
ডেনিস

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