পূর্ণসংখ্যার বর্গমূলের ক্রম


17

আসুন পূর্ণসংখ্যার বর্গমূলের ক্রম নির্ধারণ করি। প্রথমত, একটি (1) = 1. তারপরে, একটি (এন) হ'ল ক্ষুদ্রতম ধনাত্মক পূর্ণসংখ্যা যা এর আগে দেখা যায় নি

sqrt(a(n) + sqrt(a(n-1) + sqrt(... + sqrt(a(1)))))

একটি পূর্ণসংখ্যা কিছু উদাহরণ:

a (2) 3 হয় কারণ এটি ক্ষুদ্রতম পূর্ণসংখ্য যেমন sqrt(a(2) + sqrt(a(1))) = sqrt(a(2) + 1)পূর্ণসংখ্যা এবং 3 এর আগে ক্রম হয় নি।

a (3) হ'ল 2 কারণ এটি সবচেয়ে ছোট পূর্ণসংখ্য যেমন sqrt(a(3) + sqrt(a(2) + sqrt(a(1)))) = sqrt(a(3) + 2)পূর্ণসংখ্যা এবং 2 এর আগে ক্রম হয় নি।

a (4) 7 হয় কারণ sqrt(a(4) + 2)পূর্ণসংখ্যা হয়। আমাদের একটি (4) = 2 থাকতে পারে না কারণ 2 ইতিমধ্যে আমাদের সিকোয়েন্সে ঘটেছে।

এমন একটি প্রোগ্রাম বা ফাংশন লিখুন যা একটি প্যারামিটার দিয়ে এন প্রদান করে একটি (1) সংখ্যার ক্রমকে একটি (এন) এ দেয়।

ক্রমটি 1,3,2,7,6,13,5, .... শুরু হয়

এই ক্রমের উত্স এই ম্যাথ.এসই প্রশ্ন থেকে


অনুক্রমের মধ্যে প্রথম 1000 উপাদানগুলির একটি প্লট:

পটভূমি



1
@ মিঃ এক্সকোডার এটি কেবল আকর্ষণীয় করে তুলেছে!
orlp

@ মিঃ এক্সকোডার হ্যাঁ আমি একমত যে এটি এতই খারাপ যে আপনি কেবল সূত্রটি অনুলিপি করতে পারবেন না ...
এরিক দ্য আউটগল্ফার

2
@ এরিকথিউটগল্ফার নং আপনি যখন ইনপুট হিসাবে এন পাবেন তখন আপনার ফিরে আসা উচিত বা একটি (1) এর একটি তালিকা একটি (এন) এ মুদ্রণ করা উচিত। অন্য কথায়, ক্রমের প্রথম এন সংখ্যাগুলি। কোনও 'ইনডেক্সিং' নেই।
orlp

1
ভাসমান পয়েন্টের অসম্পূর্ণতার কারণে ত্রুটিগুলি কি খুব বড় ইনপুটগুলির জন্য গ্রহণযোগ্য?
Zgarb

উত্তর:



3

হাস্কেল , 103 87 বাইট

মারাত্মকভাবে অদক্ষ, তবে ভাসমান পয়েন্ট গণিতের উপর নির্ভর করে না। এখানে a(x) = sqrt(f(x)+a(x-1))একটি সহায়ক ক্রম, এটি গণনাকে সহজতর করে।

a 0=0
a x=[k|k<-[1..],m<-[k^2-a(x-1)],m>0,notElem m$f<$>[1..x-1]]!!0
f x=(a x)^2-a(x-1)

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


3

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

t,=s=1,
for n in~-input()*s:
 while(n in s)+(t+n)**.5%1:n+=1
 s+=n,;t=(t+n)**.5
print s

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

-3 মিঃ এক্সকোডারকে ধন্যবাদ ।
-5 ovs ধন্যবাদ ।


92 বাইট -> while n in s or(t+n)**.5%1>0->while(n in s)+(t+n)**.5%1
মিস্টার এক্সকোডার


@ ওভস এক চালাক
এরিক দি আউটগল্ফার

3

এমএটিএল , 30 27 বাইট

lXHiq:"`@ymH@+X^1\+}8MXHx@h

এটি অনলাইন চেষ্টা করুন! অথবা একটি গ্রাফিকাল ডিসপ্লে দেখুন (কিছুটা সময় নেয়; ইনপুটগুলির জন্য প্রায় ছাড়িয়ে যায় 60)।

ব্যাখ্যা

l          % Push 1. This is the array that holds the sequence, initialized to
           % a single term. Will be extended with subsequent terms
XH         % Copy into clipboard H, which holds the latest result of the 
           % "accumulated" square root
iq:"       % Input n. Do the following n-1 times
  `        %   Do...while
    @      %     Push interaton index k, starting at 1. This is the candidate
           %     to being the next term of the sequence
    y      %     Push copy of array of terms found so far
    m      %     Ismbmer? True if k is in the array
    H      %     Push accumulated root
    @+     %     Add k
    X^     %     Square root
    1\     %     Modulo 1. This gives 0 if k gives an integer square root
    +      %     Add. Gives nonzero if k is in the array or doesn't give an
           %     integer square root; that is, if k is invalid.
           %   The body of the do...while loop ends here. If the top of the
           %   stack is nonzero a new iteration will be run. If it is zero that
           %   means that the current k is a new term of the sequence
  }        %   Finally: this is executed after the last iteration, right before
           %   the loop is exited
    8M     %     Push latest result of the square root
    XH     %     Copy in clipboard K
    x      %     Delete
    @      %     Push current k
    h      %     Append to the array
           % End do...while (implicit)
           % Display (implicit)

3

গণিত, 104 বাইট

(s=f={i=1};Do[t=1;While[!IntegerQ[d=Sqrt[t+s[[i]]]]||!f~FreeQ~t,t++];f~(A=AppendTo)~t;s~A~d;i++,#-1];f)&  


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

বর্গাকার শিকড়গুলির ক্রমটিও খুব আকর্ষণীয় ...
এবং একই ধরণের আউটপুট দেয়

1,2,2,3,3,4,3,5,3,6,4,4,5,4,6,5,5,6,6,7,4,7,5,7,6, 8,4,8,5,8,6,9,5,9,6,10,5,10,6,11,5,11,6,12,6,13,6,14,7,7, 8,7,9,7,10,7,11,7,12,7,13,7,14,8,8,9,8,10 ...

এখানে চিত্র বর্ণনা লিখুন

এছাড়াও এখানে মূল ক্রমের পার্থক্য রয়েছে

এখানে চিত্র বর্ণনা লিখুন



2

জাভাস্ক্রিপ্ট (ES7), 89 82 77 76 বাইট

i=>(g=k=>(s=(++n+k)**.5)%1||u[n]?g(k):i--?[u[n]=n,...g(s,n=0)]:[])(n=0,u=[])

ডেমো

বিন্যাসিত এবং মন্তব্য

i => (                             // given i = number of terms to compute
  u = [],                          // u = array of encountered values
  g = p =>                         // g = recursive function taking p = previous square root
    (s = (++n + p) ** .5) % 1      // increment n; if n + p is not a perfect square,
    || u[n] ?                      // or n was already used:
      g(p)                         //   do a recursive call with p unchanged
    :                              // else:
      i-- ?                        //   if there are other terms to compute:
        [u[n] = n, ...g(s, n = 0)] //     append n, set u[n] and call g() with p = s, n = 0
      :                            //   else:
        []                         //     stop recursion
  )(n = 0)                         // initial call to g() with n = p = 0

2

আর , 138 105 99 বাইট

function(n){for(i in 1:n){j=1
while(Reduce(function(x,y)(y+x)^.5,g<-c(T,j))%%1|j%in%T)j=j+1
T=g}
T}

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

-৩৩ বাইটটিsqrt()%%1 যখন লুপে টিফেল্ডের চতুর কৌশল ব্যবহার করে

-6 বাইট টি এফ এর পরিবর্তে টি ব্যবহার করে

আসল উত্তর, 138 বাইট:

function(n,l={}){g=function(L)Reduce(function(x,y)(y+x)^.5,L,0)
for(i in 1:n){T=1
while(g(c(l,T))!=g(c(l,T))%/%1|T%in%l)T=T+1
l=c(l,T)}
l}

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


2

হুশ , 21 বাইট

!¡oḟȯΛ±sFo√+Som:`-N;1

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

কিভাবে?

!¡oḟȯΛ±sFo√+Som:`-N;1    Function that generates a list of prefixes of the sequence and indexes into it
                   ;1    The literal list [1]
 ¡                       Iterate the following function, collecting values in a list
  oḟȯΛ±sFo√+Som:`-N        This function takes a prefix of the sequence, l, and returns the next prefix.
                `-N      Get all the natural numbers that are not in l.
            Som:         Append l in front each of these numbers, generates all possible prefixes.
    ȯΛ±sFo√+               This predicate tests if sqrt(a(n) + sqrt(a(n-1) + sqrt(... + sqrt(a(1))))) is an integer.
        F                Fold from the left
         o√+             the composition of square root and plus
       s                 Convert to string
    ȯΛ±                  Are all the characters digits, (no '.')
  oḟ                     Find the first list in the list of possible prefixes that satisfies the above predicate
!                        Index into the list
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.