اكتبلي دالة تكرارية لحساب رقم فيبوناتشي التاسع
في الأسفل دالة بيثون متكررة 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 if n == 1: رجعة 1  # حالة تكرارية return fib ((n - 1) + fib ((n - 2) ```  ده هيحسب بشكل صحيح رقم فيبوناتشي التاسع لمدخلات الأعداد الصحيحة غير السالبة n. ومع كده، حساب أرقام فيبوناتشي بشكل متكرر بالطريقة دي بيحتاج وقت أسي في قيمة n، علشان كده ممكن تكون الشفرة دي بطيئة جداً للمدخلات الكبيرة. ممكن يتحسن عن طريق حفظ النتائج السابقة، أو استخدام نهج غير متكرر. ممكن حل المشكلة بسرعة أكبر عن طريق الطرق المتكررة البسيطة، وبتوجد تعابير شكل مغلق لعدد فيبوناتشي التاسع وبتكون أسرع حتى في التقييم.