تمرين إعادة البناء
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
}اكتب هنا