জেলি , 5 বাইট
_Ḟ1+¡
এটি বিল্ট-ইনগুলি ছাড়া একটি পুনরাবৃত্তি সমাধান। এটি চ্যালেঞ্জ অনুমান হিসাবে একই সূচক ব্যবহার করে।
এটি অনলাইন চেষ্টা করুন!
পটভূমি
চ চ্যালেঞ্জ স্পেসে সংজ্ঞায়িত ফাংশন এবং এফ যথাক্রমে সংজ্ঞায়িত ফিবোনাচি ফাংশন হিসাবে চলুন (যেমন, সাথে এফ (0) = 0 )। অ-নেতিবাচক পূর্ণসংখ্যা n এর জন্য আমাদের কাছে f (n) = F (n + 1) রয়েছে । যখন 0 ≤ x <1 , চ্যালেঞ্জ স্পেসটি f (n + x) কে f (n) + (f (n + 1) - f (n)) x হিসাবে সংজ্ঞায়িত করে ।
স্পষ্টত, এই মাত্র বেস মামলা প্রভাবিত, কিন্তু না রিকার্সিভ সূত্র, অর্থাত, চ (ঢ) = F (N - 1) + F (ঢ - 2) ঝুলিতে যেমন জন্য would এফ । এর অর্থ আমরা সহজেই f (n) = f (n) + f (n - 1) x- তে পূর্ণসংখ্যার যুক্তির সংজ্ঞা সহজ করতে পারি ।
অন্যরা যেমন তাদের উত্তরগুলিতে উল্লেখ করেছে, পুনরাবৃত্তির সম্পর্কটি অ-পূর্ণসংখ্যার যুক্তিও রাখে। এটি সহজেই যাচাইযোগ্য as
যেহেতু f (0) = f (1) = 1 , f অন্তর্বর্তী স্থির মধ্যে [0, 1] এবং f (0 + x) = 1 সমস্ত এক্স এর জন্য । তদ্ব্যতীত, চ (-1) = এফ (0) 0 = , তাই চ (-1 + X) = চ (-1) + + (চ (0) - চ (-1)) এক্স = 0 টি + 1x = এক্স । এই বেস কেসগুলি [-1, 1) এ অন্তর্ভুক্ত রয়েছে , সুতরাং পুনরাবৃত্ত সূত্রের সাথে তারা এফ এর সংজ্ঞাটি সম্পূর্ণ করে ।
কিভাবে এটা কাজ করে
আগের মতো, আমাদের ++ প্রোগ্রামের একমাত্র যুক্তিটি হোক এন + এক্স let
¡
একটি দ্রুত হয় যার অর্থ, এটির মধ্যে নিজের বাম এবং পালাক্রমে তাদের কিছু লিঙ্ক হ্রাস, quicklink । ¡
বিশেষত এক বা দুটি লিঙ্ক গ্রহণ করে।
<F:monad|dyad><N:any>
লিঙ্কটি এন কল করে , আর ফিরে আসে এবং এফ চালায় মোট আর বার ।
<nilad|missing><F:monad|dyad>
সেট r গত কম্যান্ড-লাইন যুক্তি (বা তাদের অনুপস্থিতিতে stdin থেকে একটি ইনপুট) এবং, executes থেকে এফ মোট r বার কার্যকর করে।
যেহেতু 1
নীলাদ (তর্ক ছাড়াই একটি লিঙ্ক), দ্বিতীয় ক্ষেত্রে প্রযোজ্য, এবং n বার +¡
কার্যকর হবে (একটি অ-পূর্ণসংখ্যার যুক্তিটি গোল করে দেওয়া হবে)। প্রতিটি কল করার পরে , দ্রুত লিঙ্কের বাম আর্গুমেন্টটি রিটার্ন মান এবং বাম আর্গুমেন্টের পূর্ববর্তী মানের সাথে ডান আর্গুমেন্ট প্রতিস্থাপন করা হয়।+
+
পুরো প্রোগ্রাম হিসাবে, Ḟ
ইনপুট মেঝে, ফলন এন ; তারপরে _
ইনপুট থেকে ফলাফলটি বিয়োগ করুন, ** x ফলন হবে যা প্রত্যাবর্তনের মান হয়ে যায়।
1+¡
তারপরে কল করুন +¡
- পূর্বে বর্ণিত হিসাবে - বাম আর্গুমেন্ট 1 = f (0 + x) এবং ডান আর্গুমেন্ট x = f (-1 + x) দিয়ে , যা পছন্দসই আউটপুটটি গণনা করে।