تمرين: فيبوناتشي

تبدأ متتالية فيبوناتشي بـ [0,1]. بالنسبة لـ n>1، يتم حساب العدد فيبوناتشي الـ n عن طريق الاستدعاء الذاتي كمجموع للعدد فيبوناتشي الـ n-1 والعدد فيبوناتشي الـ n-2.

اكتب دالة fib(n) التي تحسب العدد فيبوناتشي الـ n. متى ستسبب هذه الدالة (panic)؟

fn fib(n: u32) -> u32 {
    if n < 2 {
        // الحالة الأساسية.
        todo!("نفذ هذا")
    } else {
        // الحالة العودية (recursive case).
        todo!("نفذ هذا")
    }
}

fn main() {
    let n = 20;
    println!("fib({n}) = {}", fib(n));
}