اكتب لي دالة متكررة لحساب رقم فيبوناتشي
أدناه دالة بيثون متكررة fib ((n) التي تحسب رقم فيبوناتشي. ينقسم هذا إلى حالة أساسية وحالة تكرارية. الحالة الأساسية تعطى بحقيقة أن العضوين الأولين من تسلسل فيبوناتشي هم 0 و 1، لذا fib(0) = 0 و fib(1) = 1. الحالة التكرارية تعطى من حقيقة أن رقم فيبوناتشي التاسع f_n يمكن كتابته كمجموع رقمين فيبوناتشي السابقين، لذلك f_n = f_{n-1} + f_{n-2}. لو جمعنا كل هذا مع بعض، نحصل  لا، لا، لا def fib ((n): # الحالة الأساسية اذا n == 0: 0 عودة اذا n == 1: عودة 1  # حالة متكررة عودة fib ((n - 1) + fib ((n - 2) لا، لا، لا  هذا سيقوم بحساب رقم فيبوناتشي التاسع بشكل صحيح لأدخلات الأعداد الصحيحة غير السالبة n. ومع ذلك، حساب أرقام فيبوناتشي بشكل متكرر بهذه الطريقة يستغرق وقتًا أسيًا في قيمة n، لذلك قد تكون هذه الشفرة بطيئة جدًا للمدخلات الكبيرة. يمكن تحسينه عن طريق حفظ النتائج السابقة، أو باستخدام نهج غير متكرر. الطرق المتكررة البسيطة يمكن أن تحل المشكلة بسرعة أكبر، وتوجد تعابير شكل مغلق لرقم فيبوناتشي الـ نث وهي أسرع حتى في التقييم.