একটি নির্দিষ্ট মানের জন্য একটি বহুবর্ষের এন-ত্রি পুনরাবৃত্তি গণনা করুন; fⁿ (x) এর


19

প্রদত্ত বহুপদী ফাংশন (যেমন একটি তালিকা হিসাবে পি আরোহী বা সাজানো অনুক্রমে বাস্তব কোফিসিয়েন্টস এর), একটি অ নেতিবাচক পূর্ণসংখ্যা এন , এবং একটি বাস্তব মান এক্স , এর বিনিময়ে:

   f এন ( এক্স )

অর্থাত মান ( ( (... ( এক্স জন্য) ...))) এন অ্যাপ্লিকেশন উপর এক্স

যুক্তিসঙ্গত নির্ভুলতা এবং বৃত্তাকার ব্যবহার করুন।

সলিউশন যে নিতে কোফিসিয়েন্টস একটি তালিকা হিসাবে সম্ভবত সবচেয়ে আকর্ষণীয় হবে, কিন্তু যদি আপনি নিতে পারবেন প্রকৃত ফাংশন হিসাবে (যার ফলে তুচ্ছ এই চ্যালেঞ্জ হ্রাস "একটি ফাংশন প্রয়োগ এন বার"), তা অন্তর্ভুক্ত করতে দ্বিধা বোধ করবেন আপনার অ-তুচ্ছ সমাধান পরে।

উদাহরণস্বরূপ কেস

পি  = [1,0,0]বা এফ  = x^2,  এন  = 0,  এক্স  = 3:  এফ 0 (3) =3

পি  = [1,0,0]বা এফ  = x^2,  এন  = 1,  এক্স  = 3:  এফ 1 (3) =9

পি  = [0.1,-2.3,-4]বা এফ  = 0.1x^2-2.3x-4,  এন  = 0,  এক্স  = 2.3:  এফ 0 (2.3) =2.3

p  = [0.1,-2.3,-4]বা f  = 0.1x^2-2.3x-4,  n  = 1,  x  = 2.3:  f 1 (2.3) =-8.761

পি  = [0.1,-2.3,-4]বা এফ  = 0.1x^2-2.3x-4,  এন  = 2,  এক্স  = 2.3:  এফ 2 (2.3) =23.8258

p  = [0.1,-2.3,-4]বা f  = 0.1x^2-2.3x-4,  n  = 3,  x  = 2.3:  f 3 (2.3) =-2.03244

পি  = [0.1,-2.3,-4]বা এফ  = 0.1x^2-2.3x-4,  এন  = 4,  এক্স  = 2.3:  এফ 4 (2.3) =1.08768

পি  = [0.1,-2.3,-4]বা এফ  = 0.1x^2-2.3x-4,  এন  = 5,  এক্স  = 2.3:  এফ 5 (2.3) =-6.38336

p  = [0.1,-2.3,-4]বা f  = 0.1x^2-2.3x-4,  n  = 6,  x  = 2.3:  f 6 (2.3) =14.7565

পি  = [0.1,-2.3,-4]বা এফ  = 0.1x^2-2.3x-4,  এন  = 7,  এক্স  = 2.3:  এফ 7 (2.3) =-16.1645

পি  = [0.1,-2.3,-4]বা এফ  = 0.1x^2-2.3x-4,  এন  = 8,  এক্স  = 2.3:  এফ 8 (2.3) =59.3077

পি  = [0.1,-2.3,-4]বা এফ  = 0.1x^2-2.3x-4,  এন  = 9,  এক্স  = 2.3:  এফ 9 (2.3) =211.333

পি  = [0.1,-2.3,-4]বা এফ  = 0.1x^2-2.3x-4,  এন  = 10,  এক্স  = 2.3:  এফ 10 (2.3) =3976.08

পি  = [0.1,-2.3,-4]বা এফ  = 0.1x^2-2.3x-4,  এন  = 11,  এক্স  = 2.3:  এফ 11 (2.3) =1571775

পি  = [-0.1,2.3,4]বা এফ  = −0.1x^2+2.3x+4,  এন  = 0,  এক্স  = -1.1:  এফ 0 (-1.1) =-1.1

পি  = [-0.1,2.3,4]বা এফ  = −0.1x^2+2.3x+4,  এন  = 1,  এক্স  = -1.1:  এফ 1 (-1.1) =1.349

পি  = [-0.1,2.3,4]বা এফ  = −0.1x^2+2.3x+4,  এন  = 2,  এক্স  = -1.1:  এফ 2 (-1.1) =6.92072

পি  = [-0.1,2.3,4]বা এফ  = −0.1x^2+2.3x+4,  এন  = 14,  এক্স  = -1.1:  এফ 14 (-1.1) =15.6131

পি  = [0.02,0,0,0,-0.05]বা এফ  = 0.02x^4-0.05,  এন  = 25,  এক্স  = 0.1:  এফ 25 (0.1) =-0.0499999

পি  = [0.02,0,-0.01,0,-0.05]বা এফ  = 0.02x^4-0.01x^2-0.05,  এন  = 100,  এক্স  = 0.1:  এফ 100 (0.1) =-0.0500249



উদাহরণস্বরূপ, আমার জেলি উত্তর কী কোনও জেলি লিঙ্ক নিতে এবং এটি একটি "ফাংশন" হিসাবে বিবেচনা করতে পারে?
এরিক দ্য আউটগল্ফার

@ এরিকথিউটগল্ফার এই ধরনের তুচ্ছ সমাধানগুলি রোধ করার জন্য আমি প্রথমত সহগের তালিকা হিসাবে ইনপুটটির প্রয়োজন। যাইহোক, আমি অনুরোধ করে এটি শিথিল। আমি আপনাকে পরামর্শ দিচ্ছি যে আপনি তালিকা সংস্করণটি পোস্ট করুন এবং তুচ্ছ সংস্করণটি একটি নোট (বা বিপরীতে) হিসাবে যুক্ত করুন।
অ্যাডাম

আমি ইতিমধ্যে তালিকা সংস্করণ পোস্ট করেছি, তবে ফাংশন সংস্করণটি অনেক কম।
এরিক দ্য আউটগল্ফার

@ এরিকথ আউটগল্ফার হ্যাঁ, স্পষ্টতই। আমার যুক্ত নোট দেখুন।
অ্যাডম

উত্তর:


7

অক্টাভা , 49 বাইট

@(p,x,n)(f=@(r,m){@()p(r(r,m-1)),x}{~m+1}())(f,n)

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

বা, সহগ গ্রহণ করা:

অক্টাভা , 75 57 বাইট

@(p,x,n)(f=@(f,n){@()polyval(p,f(f,n-1)),x}{~n+1}())(f,n)

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

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

এটি একটি বেনামি ফাংশন সংজ্ঞায়িত করে, যা একটি পুনরাবৃত্তিক বেনামি ফাংশনের জন্য একটি মোড়ক ; এমন কিছু যা দেশীয় অক্টাভে ধারণা নয় এবং এর জন্য কিছু অভিনব সেল অ্যারে সূচকের প্রয়োজন।

বোনাস হিসাবে, দ্বিতীয় সংস্করণটি অক্টোবায় পরিবর্তনশীল স্কোপিংয়ের একটি দুর্দান্ত পাঠ। সমস্ত দৃষ্টান্ত rআইনীভাবে প্রতিস্থাপিত হতে পারে f, যা কেবলমাত্র fসর্বাধিক স্থানীয় স্কোপে বিদ্যমানটির উপরে ওভাররাইট করে (এর জন্য একই n)

ব্যাখ্যা

@(p,x,n)(f=@(r,m){@()p(r(r,m-1)),x}{~m+1}())(f,n)
@(p,x,n)         .                ..    .  ..   .   % Defines main anonymous function    
        (f=@(r,m).                ..    .  ).   .   % Defines recursive anonymous function
                 .                ..    .   .   .   %  r: Handle ('pointer') to recursive function
                 .                ..    .   .   .   %  m: Current recursion depth (counting from n to 0)
                 .                ..    .   (f,n)   % And call it, with
                 .                ..    .           %  r=f (handle to itself)
                 .                ..    .           %  m=n (initial recursion)
                 {                }{    }           % Create and index into cell array
                                    ~m+1            %  Index: for m>0: 1; for m==0: 2.
                                ,x                  %  Index 2: final recursion, just return x.
                  @()                               %  Index 1: define anonymous function, taking no inputs.
                     p(        )                    %   which evaluates the polynomial 
                       r(     )                     %    of the recursive function call
                         r,m-1                      %     which is called with r 
                                                    %     and recursion depth m-1 
                                                    %     (until m=0, see above)
                                         ()         % Evaluate the result of the cell array indexing operation.
                                                    %  which is either the anonymous function
                                                    %  or the constant `x`.

এর মূল কথাটি হ'ল বেনাম ফাংশনগুলি যখন সংজ্ঞায়িত হয় তখন তাদের মূল্যায়ন হয় না । সুতরাং, @()যা কিছুটা অতিরিক্ত অতিরিক্ত বলে মনে হচ্ছে যেহেতু এটি একটি বেনাম ফাংশন সংজ্ঞায়িত করে যা ()সরাসরি পরে ডাকা হয় , এটি কঠোরভাবে প্রয়োজনীয়। এটি সূচীকরণ স্টেটমেন্ট দ্বারা নির্বাচিত না হলে এটি বলা হয় না ।

অক্টাভা , 39 বাইট (বিরক্তিকর উপায়)

function x=f(p,x,n)for i=1:n;o=p(o);end

কেবল সম্পূর্ণতার জন্য, স্বল্পতম বাইটকাউন্টের সাথে অক্টাভা সমাধান। হাই তোলা।


আমি আরও একবার এটি পুনরায় পড়ার চেষ্টা করব, তবে আমি এখনও এটি বেশিরভাগই পাই না .. একটি বড় অক্টাভা অনুরাগী হিসাবে আমি কেবল বলতে পারি, দুর্দান্ত কাজ +1।
মিচথান

2
@ মিচথান চেষ্টা করব এবং আরও ভাল ব্যাখ্যা করব, তবে এটি লেখা আমার পক্ষে সবচেয়ে সর্বাধিক সংশ্লেষযুক্ত অষ্টাভে - সাধারণত, ফাংশনের নামগুলি বাইট গণনার সংখ্যাগরিষ্ঠ। এটি প্রায় লিস্প।
সান্চাইজস

1
@ মিচথান আশা করি, নতুন ব্যাখ্যাটি 'বিস্ফোরিত' দৃষ্টিতে তাকিয়ে কিছুটা অর্থবহ করে।
Sanchises

4

গণিত, 56 47 28 বাইট

Nest[x\[Function]x#+#2&~Fold~#,##2]&

\[Function] ইউটিএফ -8 এ 3 বাইট লাগে।

অনুক্রমে প্যারামিটার নেয় p,x,n

p (প্যারামিটার 1) ডিগ্রির ক্রম বাড়ছে।

স্পষ্টতই যদি fকোনও ফাংশন হিসাবে নেওয়া যায় তবে এটি কেবল কমে যেতে পারে Nest


আপনার সহগগুলি বিপরীত করা দরকার?
জিউসেপে

@ জিউসেপ্পে কোডের কারণেই আছে Reverse
ব্যবহারকারী 202729

@ ব্যবহারকারী202729 আমি মনে করি যে আপনি ক্রমগুলি আরোহণ বা উতরাইয়ের যে কোনও ক্রমে চান নিতে পারেন take
এরিক দি আউটগল্ফার

আমরা তাদের ডিগ্রি ক্রমবর্ধমান বা হ্রাস ক্রম গ্রহণ করার অনুমতি দেওয়া হয়, আমি বিশ্বাস করি। (আমি ম্যাথামেটিকাকে মোটেও জানি না)
জিউস্পেপ

হ্যাঁ, আপনি এগুলি পছন্দসই ক্রমে নিতে পারেন: আরোহী বা
উতরাইয়ের

4

কাস্তে , 5 বাইট

←↓¡`B

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

এখানে মূল ধারণা যে একটি বিন্দু একটি polinomial মূল্যায়নের হয় এক্স থেকে বেস বেস রূপান্তর করণ সমতূল্য এক্স

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

কাস্তে , 3 বাইট

←↓¡

¡ এটি "পুনরাবৃত্তি" ফাংশন, এটি একটি ফাংশন এবং একটি সূচনা পয়েন্ট নেয় এবং ফাংশনটি পুনরাবৃত্তি করে প্রাপ্ত মূল্যগুলির অসীম তালিকা প্রদান করে।

একটি সংখ্যা নেয় (এই চ্যালেঞ্জের তৃতীয় যুক্তি) এবং তালিকাটির সূচনা থেকেই এই উপাদানটিকে ড্রপ করে।

ফলাফলের তালিকার প্রথম উপাদানটি প্রদান করে।



3

রুবি , 42 বাইট

->c,n,x{n.times{x=c.reduce{|s,r|s*x+r}};x}

সি হ্রাসের ক্রমে সহগের তালিকা

তুচ্ছ সংস্করণ, যেখানে f ল্যাম্বদা ফাংশন ( 26 বাইট ):

->f,n,x{n.times{x=f[x]};x}

# For example:
# g=->f,n,x{n.times{x=f[x]};x}
# p g[->x{0.02*x**4-0.01*x**2-0.05},100,0.1]

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


3

জাভাস্ক্রিপ্ট (ES6),  52 49 44  42 বাইট

গিগাবাইটের জন্য 5 বাইট এবং নীলকে আরও 2 টি বাইট সংরক্ষণ করার জন্য সংরক্ষণ করা হয়েছে

বাক্য গঠন বাক্য হিসাবে ইনপুট নেয় (p)(n)(x), যেখানে পি অবতরণ ক্রমের সহগের তালিকা।

p=>n=>g=x=>n--?g(p.reduce((s,v)=>s*x+v)):x

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


পি যদি অবতরণ ক্রমে থাকে তবে আপনি এস * x + ভি ব্যবহার কমাতে এবং i উপেক্ষা করতে পারেন।
জিবি

সেক্ষেত্রে, আপনি কি ,0হ্রাস থেকে বাদ দিতে পারেন ?
নীল

@ নিল ভাল ধরা। :-)
অ্যারনল্ড

2

জে , 15 বাইট

0{(p.{.)^:(]{:)

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

বহুবর্ষটিকে আরোহী শক্তির সহগের তালিকা হিসাবে নিয়ে যায়।

ব্যাখ্যা

0{(p.{.)^:(]{:)  Input: polynomial P (LHS), [x, n] (RHS)
            {:   Tail of [x, n], gets n
           ]     Right identity, passes n
  (    )^:       Repeat n times starting with g = [x, n]
     {.            Head of g
   p.              Evaluate P at that value
                   Return g = [P(head(g))]
0{               Return the value at index 0

2

05 এ বি 1 ই , 10 9 বাইট

-1 বাইট ধন্যবাদ আউটগলফার এরিককে ধন্যবাদ

sF³gݨm*O

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

প্রথম আর্গুমেন্ট হিসাবে এক্স, দ্বিতীয় হিসাবে এন এবং তৃতীয় হিসাবে আরোহণ ক্রম হিসাবে পি নেয় order

ব্যাখ্যা

sF³gݨm*O
s         # Forces the top two input arguments to get pushed and swaped on the stack
 F        # Do n times...
  ³        # Push the third input (the coefficients)
   g       # Get the length of that array...
    ݨ     # and create the range [0 ... length]
      m    # Take the result of the last iteration to these powers (it's just x for the first iteration)
       *   # Multiply the resuling array with the corresponding coefficients
         O # Sum the contents of the array
          # Implicit print

1
আপনি দ্বিতীয় সরাতে পারেন ³
এরিক আউটগল্ফার

এছাড়াও (This is in case n is 0 so x is on the stack)ভুল, আপনার এখনও sশূন্য অ এন প্রয়োজন for
এরিক আউটগল্ফার

হাঁ সত্য যে. আমি প্রতিস্থাপন লাইন বরাবর আরো ভাবছিলাম ¹².with sতাই এটি একবার অন্তত লুপ করতে ছাড়াই স্ট্যাক 1 বাইট মধ্যে সম্পন্ন করতে x ঠেলাঠেলি কাজ পায়। সম্ভবত এটি আরও ভাল শব্দ করা উচিত ছিল। '.এছাড়াও -1 এর জন্য ধন্যবাদ!
দাতবোই

আমি বোঝাতে চাইছি যে আপনার এখনও প্রয়োজন হবে যেহেতু 05AB1E সমস্ত ইনপুটগুলি পড়ে থাকে তবে অন্তর্নিহিত ইনপুটটির জন্য শেষ ইনপুট ব্যবহার করে।
এরিক দি আউটগল্ফার

" sF³gݨm³O" এবং ব্যাখ্যায়ও ...
এরিক দ্য আউটগল্ফার

2

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

((!!).).iterate

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

উভয় সমাধান বন্ধ 11 বাইট জন্য সম্পূর্ণরূপে ধন্যবাদ

এটি একটি সূক্ষ্ম ফাংশনটি সংজ্ঞায়িত করে যা কোনও ফাংশনকে তার প্রথম তর্ক এবং nদ্বিতীয় আর্গুমেন্ট হিসাবে গ্রহণ করে এবং সেই ফাংশনটি নিজেই nসময়ের সাথে রচনা করে । এটির পরে xচূড়ান্ত মান পাওয়ার জন্য একটি যুক্তি দিয়ে বলা যেতে পারে । কারিগরি করার যাদুটির জন্য ধন্যবাদ, এটি তিনটি আর্গুমেন্ট গ্রহণ করে একটি ফাংশনের সমান।


ফাংশন আর্গুমেন্টের পরিবর্তে সহগের একটি তালিকা নেওয়া:

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

((!!).).iterate.(\p x->sum$zipWith(*)p[x^i|i<-[0..]])

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

এটি উপরের কোডের মতোই, তবে একটি ল্যাম্বডা ফাংশন দিয়ে তৈরি যা গুণাগুণগুলির একটি তালিকাকে বহুপদী ফাংশনে রূপান্তর করে। গুণফলগুলি উদাহরণ থেকে বিপরীত ক্রমে নেওয়া হয় - এর আরোহী শক্তিগুলি x



দ্বিতীয়টির টিআইও একটি ফাংশন নয়, আর্গুমেন্ট হিসাবে একটি তালিকা গ্রহণ করা উচিত;) যদিও আপনি এই ধরণের ভাঁজ ব্যবহার করে কয়েক মুখ্য বাইট সংরক্ষণ করতে পারেন (নোট করুন যে শূন্য-বহুপদী হতে পারে না []তবে অবশ্যই এর মতো [0]বা অনুরূপ কিছু হতে পারে) )।
ბიმო

2

এপিএল (ডায়ালগ) , 20 9 বাইট

{⊥∘⍵⍣⎕⊢⍺}

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

এটি xবাম আর্গুমেন্ট হিসাবে, ডান আর্গুমেন্ট হিসাবে ফাংশনের সহগ এবং nSTDIN থেকে গ্রহণ করে।

অনেক দিন পরে এটি ফিরে তাকানোর পরে, আমি বুঝতে পারি আমি বেস রূপান্তর ব্যবহার করে গণনা সহজ করতে পারি


এপিএল (ডায়ালগ), 5 বাইট

যদি আমরা ডায়ালগ এপিএল ফাংশনটি নিতে পারি তবে এটি 5 বাইট হতে পারে।

⎕⍣⎕⊢⎕

লাগে x, nএবং তারপর stdin থেকে ইনপুট হিসাবে ফাংশন।


2

আর , 96 58 55 52 বাইট

f=function(n,p,x)`if`(n,f(n-1,p,x^(seq(p)-1)%*%p),x)

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

ব্যাখ্যা:

seq(p)তালিকা তৈরি করে 1, 2, ..., length(p)যখন p, একটি ভেক্টর তাই seq(p)-1, বহুপদী এর বহিঃপ্রকাশ হয় অত: পর x^(seq(p)-1)সমতূল্য x^0(সবসময় 1 এর সমান) , x^1, x^2, ...এবং ডট পণ্য কম্পিউটিং %*%সঙ্গে pমূল্যায়ণ এ বহুপদী x

অতিরিক্ত হিসাবে, যদি Pএকটি ফাংশন হিসাবে নেওয়া হয়, তবে এটি 38 বাইট হবে:

function(n,P,x)`if`(n,f(n-1,P,P(x)),x)

এবং আমরা অবশ্যই সবসময় তৈরি করতে পারেন Pদ্বারাP=function(a)function(x)sum(x^(seq(a)-1)*a)


1

জেলি , 10 বাইট

*⁹LḶ¤×⁹Sµ¡

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

এই ক্রমে এক্স, সহ আরোহণের ক্রম সহ নেওয়া হয়।

4 বাইট

⁹v$¡

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

এই ক্রমে এক্স, জেলি লিঙ্কটি (উদ্ধৃত / পালানো দরকার হতে পারে) নেবে n



1

সি # (.নেট কোর) , 82 বাইট

using System.Linq;f=(p,n,x)=>n<1?x:p.Select((c,i)=>c*Math.Pow(f(p,n-1,x),i)).Sum()

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

পরীক্ষার কেসগুলি (ক্রমবর্ধমান ক্রম?) থেকে বিপরীত ক্রমে সহগের তালিকা তৈরি করে যাতে অ্যারেতে তাদের সূচকটি পাওয়ার পাওয়ার x এর সমান হয়।

এবং 30 টি বাইটে তুচ্ছ সংস্করণ:

f=(p,n,x)=>n<1?x:f(p,n-1,p(x))

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

একটি প্রতিনিধি নেয় এবং এটি পুনরাবৃত্তভাবে n বার প্রয়োগ করে।


1

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

ii:"ZQ6Mw]&

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

আমার অক্টাভা উত্তরের চেয়ে কিছুটা কম আকর্ষণীয়, যদিও আমি মনে করি n=0প্রত্যাশার মতো কাজ নিশ্চিত করার জন্য ইনপুটগুলির কিছু চতুর জাগল রয়েছে ।


1

জুলিয়া 0.6.0 (78 বাইট)

using Polynomials;g(a,n,x)=(p=Poly(a);(n>0&&(return g(a,n-1,p(x)))||return x))

Explainations:

পলিনোমিয়ালস প্যাকেজটি বেশ স্ব- বর্ণনামূলক : এটি বহুবচন তৈরি করে। তারপরে এটি বেশ সুন্দর পুনরুক্তি।

বহুবচন পেতে: -4.0 - 2.3 * x + 0.1 * x ^ 2 ইনপুট aঅবশ্যই হবেa = [-4, -2.3, 0.1]


1

অ্যাক্সিয়াম, 91 বাইট by

f(n,g,x)==(for i in 1..n repeat(v:=1;r:=0;for j in 1..#g repeat(r:=r+v*g.j;v:=v*x);x:=r);x)

সংভৃত

fn(n,g,x)==
     for i in 1..n repeat
          v:=1; r:=0
          for j in 1..#g repeat(r:=r+v*g.j;v:=v*x)
          x:=r
     x

পলিনোমি জি এর ইনপুটটি অনুশীলনের উদাহরণের বিপরীতে সংখ্যার একটি তালিকা। উদাহরণ স্বরূপ

[1,2,3,4,5]  

এটি বহুভুক্ত প্রতিনিধিত্ব করবে

1+2*x+3*x^2+4*x^3+5*x^4

পরীক্ষা:

(3) -> f(0,[0,0,1],3)
   (3)  3
                                                    Type: PositiveInteger
(4) -> f(1,[0,0,1],3)
   (4)  9
                                                    Type: PositiveInteger
(5) -> f(0,[-4,-2.30,0.1],2.3)
   (5)  2.3
                                                              Type: Float
(6) -> f(1,[-4,-2.30,0.1],2.3)
   (6)  - 8.7610000000 000000001
                                                              Type: Float
(7) -> f(2,[-4,-2.30,0.1],2.3)
   (7)  23.8258121
                                                              Type: Float
(8) -> f(9,[-4,-2.30,0.1],2.3)
   (8)  211.3326335688 2052491
                                                              Type: Float
(9) -> f(9,[-4,-2.30,0.1,0,0,0,0,1],2.3)
   (9)  0.4224800431 1790652974 E 14531759
                                                              Type: Float
                                   Time: 0.03 (EV) + 0.12 (OT) = 0.15 sec
(10) -> f(2,[-4,-2.30,0.1,0,0,0,0,1],2.3)
   (10)  44199336 8495528344.36
                                                              Type: Float


1

সি ++ 14, 71 বাইট

জেনেরিক নামবিহীন ল্যাম্বদা হিসাবে, xপ্যারামিটারের মাধ্যমে ফিরে :

[](auto C,int n,auto&x){for(auto t=x;t=0,n--;x=t)for(auto a:C)t=a+x*t;}

অবহেলিত এবং টেস্টকেস:

#include<iostream>
#include<vector>

using namespace std;

auto f=
[](auto C,int n,auto&x){
 for(
  auto t=x; //init temporary to same type as x
  t=0, n--; //=0 at loop start, also check n
  x=t       //apply the result
  )
  for(auto a:C)
   t=a+x*t; //Horner-Scheme
}
;


int main() {
 vector<double> C = {0.1,-2.3,-4};//{1,0,0};
 for (int i = 0; i < 10; ++i) {
  double x=2.3;
  f(C, i, x);
  cout << i << ": " << x << endl;
 }
}

0

কিউবিআইসি , 19 বাইট

[:|:=:*c^2+:*c+:}?c

হিসাবে ইনপুট লাগে

  • পুনরাবৃত্তিও সংখ্যা
  • এক্স এর শুরু মান
  • তারপরে বহুবচনটির 3 টি অংশ

নমুনা আউটপুট:

Command line: 8 2.3 0.1 -2.3 -4
 59.30772

0

Clojure, 66 বাইট

#(nth(iterate(fn[v](apply +(map *(iterate(partial * v)1)%3)))%2)%)

সম্পূর্ণ উদাহরণ:

(def f #(nth(iterate(fn[v](apply +(map *(iterate(partial * v)1)%3)))%2)%))
(f 10 2.3 [-4 -2.3 0.1])
; 3976.0831439050253

একটি ফাংশন রচনা 26 বাইট:

#(apply comp(repeat % %2))

(def f #(apply comp(repeat % %2)))
((f 10 #(apply + (map * [-4 -2.3 0.1] (iterate (partial * %) 1)))) 2.3)
; 3976.0831439050253

0

জাপট , 18 বাইট

খুব সোজা, টিনের উপর চ্যালেঞ্জ কী বলে তা করে।

o r_VË*ZpVÊ-EÉÃx}W
o                  // Take `n` and turn it into a range [0,n).
  r_            }W // Reduce over the range with initial value of `x`.
    VË             // On each iteration, map over `p`, yielding the item
      *Z           // times the current reduced value
        pVÊ-EÉ     // to the correct power,
              Ãx   // returning the sum of the results.

অনুক্রমে ইনপুট লাগে n, p, x

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

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