বাইনারি পুনরাবৃত্তি সিকোয়েন্সস


10

একটি বাইনারি পুনরাবৃত্তির ক্রমটি নিম্নলিখিত ফর্মের পুনরাবৃত্ত-সংজ্ঞায়িত ক্রম:

বাইনারি পুনরাবৃত্তি ক্রম সংজ্ঞা

এটি ফিবোনাচি ( x = 1, y = 2, a = [1, 1], alpha = 1, beta = 1) ক্রম এবং লুকাশ ( ) অনুক্রমের একটি সাধারণীকরণ x = 1, y = 2, a = [2, 1], alpha = 1, beta = 1

চ্যালেঞ্জ

প্রদত্ত n, x, y, a, alpha, এবং beta, কোন যুক্তিসঙ্গত বিন্যাসে, আউটপুট nসংশ্লিষ্ট বাইনারি পুনরাবৃত্তি ক্রম তম পরিভাষা।

বিধি

  • সিকোয়েন্সটি আপনি 1-ইনডেক্সড বা 0-ইনডেক্সড হতে বেছে নিতে পারেন তবে আপনার পছন্দটি অবশ্যই সমস্ত ইনপুটগুলির সাথে সামঞ্জস্যপূর্ণ এবং আপনার উত্তরে অবশ্যই আপনার পছন্দটি নোট করে রাখতে হবে।
  • আপনি অনুমান হতে পারে যে কোনো অবৈধ ইনপুট দেওয়া হবে (যেমন একটি ক্রম যে পূর্বে বন্ধ হিসাবে n, অথবা একটি ক্রম যে রেফারেন্স পদ undefined মত F(-1)বা F(k)যেখানে k > n)। এর ফলস্বরূপ, xএবং yসর্বদা ইতিবাচক থাকবে।
  • ইনপুট এবং আউটপুটগুলি আপনার ভাষার প্রাকৃতিক পূর্ণসংখ্যার প্রান্তের সীমানার মধ্যে সর্বদা পূর্ণসংখ্যার হবে। যদি আপনার ভাষার সীমানা সীমাহীন থাকে তবে ইনপুট এবং আউটপুটগুলি সীমার মধ্যে থাকবে [2**31, 2**31-1](অর্থাত্ 32-বিট স্বাক্ষরিত দু'জনের পরিপূরক পূর্ণসংখ্যার জন্য পরিসর)।
  • aসর্বদা সঠিক yমান (সংজ্ঞা অনুসারে) থাকবে।

পরীক্ষার কেস

দ্রষ্টব্য: সমস্ত পরীক্ষার কেস 0-সূচকযুক্ত।

x = 1, y = 2, a = [1, 1], alpha = 1, beta = 1, n = 6 => 13
x = 1, y = 2, a = [2, 1], alpha = 1, beta = 1, n = 8 => 47
x = 3, y = 5, a = [2, 3, 5, 7, 11], alpha = 2, beta = 3, n = 8 => 53
x = 1, y = 3, a = [-5, 2, 3], alpha = 1, beta = 2, n = 10 => -67
x = 5, y = 7, a = [-5, 2, 3, -7, -8, 1, -9], alpha = -10, beta = -7, n = 10 => 39

aবিপরীত অর্ডার গ্রহণ করা কি যুক্তিসঙ্গত হিসাবে গণ্য হয়?
ডেনিস

@ ডেনিস হ্যাঁ, এটি হয়।
মেগো

ঠিক আছে, স্পষ্ট করার জন্য ধন্যবাদ।
ডেনিস

উত্তর:


2

জেলি , 11 বাইট

⁴Cịæ.⁵ṭµ¡⁶ị

এটি অনলাইন চেষ্টা করুন!  1  |  2  |  3  |  4  |  5 

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

⁴Cịæ.⁵ṭµ¡⁶ị  Main link. Arguments: a; [x, y]; [α, β]; n (1-based)

       µ     Combine the links to the left into a chain.
        ¡    Execute that chain n times, updating a after each execution.
⁴              Yield [x, y].
 C             Complement; yield [1 - x, 1 - y].
  ị            Retrieve the elements of a at those indices.
               Indexing is 1-based and modular in Jelly, so this retrieves
               [a[-x], a[-y]] (Python syntax).
     ⁵         Yield [α, β].
   æ.          Take the dot product of [a[-x], a[-y]] and [α, β].
         ⁶   Yield n.
          ị  Retrieve the element of a at index n.

2

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

x,y,l,a,b=input();f=lambda n:l[n]if n<y else a*f(n-x)+b*f(n-y)

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

বাইটগুলি এমন and/orজায়গায় সংরক্ষণ করার উপায় নেই বলে মনে হয় if/elseকারণ l[n]এটি 0 হিসাবে মিথ্যা হতে পারে।



2

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

(x,y,z,a,b)=>g=n=>n<y?z[n]:a*g(n-x)+b*g(n-y)

নোট করুন যে ফাংশনটি আংশিকভাবে তরকারিযুক্ত, উদাহরণস্বরূপ f(1,2,[1,1],1,1)(8)34 টি প্রদান করে returns একে অপরের থেকে মধ্যবর্তী ফাংশনগুলি স্বাধীন করতে 2 বাইট লাগবে (বর্তমানে কেবলমাত্র শেষের উত্পন্ন ফাংশনটি সঠিকভাবে কাজ করে)।

সম্পাদনা: সংরক্ষিত 7 বাইটস @ মেগোকে ধন্যবাদ জানাতে যে আমি অগ্রাহ্য করেছি যে পাস-ইন অ্যারেটিতে সর্বদা yফলাফলের প্রথম উপাদান থাকে ।


@ মেগো আমি জানি আমি প্রায়শই প্রশ্নের বিবরণ উপেক্ষা করি তবে এটি আমাকে বিশেষভাবে সূক্ষ্ম বলে মনে করে।
নিল


0

জে, 43 বাইট

{:{](],(2>@{[)+/ .*]{~1-@>@{[)^:(3>@{[)>@{.

শর্তাবলীর A এর প্রাথমিক ক্রম দেওয়া হয়েছে, x , y , α , এবং β এর পরামিতিগুলি ব্যবহার করে পরবর্তী শব্দটিকে n বার গণনা করে । এরপরে, এটি প্রসারিত ক্রমের n পদটি নির্বাচন করে এবং ফলাফল হিসাবে এটি আউটপুট করে।

ব্যবহার

যেহেতু জে কেবলমাত্র 1 বা 2 টি আর্গুমেন্ট সমর্থন করে, তাই আমি বাক্সযুক্ত তালিকার তালিকা হিসাবে সমস্ত পরামিতিগুলিকে গ্রুপ করি। প্রাথমিক বীজ মান একটি প্রথম, এর প্যারামিটার অনুসরণ এক্স এবং ওয়াই একটি তালিকা হিসাবে, এর প্যারামিটার অনুসরণ α এবং β একটি তালিকা হিসাবে এবং মূল্য দিয়ে শেষ এন

   f =: {:{](],(2>@{[)+/ .*]{~1-@>@{[)^:(3>@{[)>@{.
   2 3 5 7 11;3 5;2 3;8
┌──────────┬───┬───┬─┐
│2 3 5 7 11│3 5│2 3│8│
└──────────┴───┴───┴─┘
   f 2 3 5 7 11;3 5;2 3;8
53
   f _5 2 3 _7 _8 1 _9;5 7;_10 _7;10
39
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.