AzLearn

تمرين إعادة البناء

Fibonacci Generator

أعد كتابة مولد متتالية Fibonacci بعدد حدود يحدده المستخدم.

rust ~10 دقيقة مبتدئ
أعد بناء الكود Rebuild

هذا هو الكود. اكتبه بنفسك.

الكود المرجعي
use std::env;

fn main() {
    let count = env::args()
        .nth(1)
        .and_then(|text| text.parse::<usize>().ok())
        .unwrap_or(12);

    let sequence = fibonacci(count);
    println!("First {count} Fibonacci numbers:");
    println!("{sequence:?}");
}

fn fibonacci(count: usize) -> Vec<u128> {
    let mut numbers = Vec::new();
    let mut current = 0u128;
    let mut next = 1u128;

    // ابنِ المتتالية بالتكرار — Build the sequence iteratively
    for _ in 0..count {
        numbers.push(current);
        let new_next = current + next;
        current = next;
        next = new_next;
    }

    numbers
}
اكتب هنا