AzLearn

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

Prime Number Generator

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

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

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

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

fn main() {
    let limit = env::args()
        .nth(1)
        .and_then(|text| text.parse::<u32>().ok())
        .unwrap_or(50);

    // اجمع الأعداد الأولية — Collect prime numbers
    let mut primes = Vec::new();
    for number in 2..=limit {
        if is_prime(number) {
            primes.push(number);
        }
    }

    println!("Primes up to {limit}:");
    println!("{primes:?}");
}

fn is_prime(number: u32) -> bool {
    if number < 2 {
        return false;
    }

    let mut divisor = 2;
    while divisor * divisor <= number {
        if number % divisor == 0 {
            return false;
        }
        divisor += 1;
    }

    true
}
اكتب هنا