w3resource

Rust Program: Find Prime numbers in Range

Rust Iterators and Iterator Adapters: Exercise-15 with Solution

Write a Rust program that iterates over a range of numbers and checks if each number is prime. Return a new vector containing only prime numbers.

Sample Solution:

Rust Code:

// Function to check if a number is prime
fn is_prime(n: u32) -> bool {
    if n <= 1 {
        return false;
    }
    // Check divisibility from 2 to square root of n
    for i in 2..=(n as f64).sqrt() as u32 {
        if n % i == 0 {
            return false;
        }
    }
    true // If not divisible by any number, it's prime
}

// Function to find prime numbers in a given range
fn primes_in_range(start: u32, end: u32) -> Vec<u32> {
    // Use filter to collect prime numbers within the range
    (start..=end)
        .filter(|&x| is_prime(x))
        .collect()
}

fn main() {
    let start = 1; // Starting point of the range
    let end = 30; // Ending point of the range
    // Find prime numbers within the specified range
    let prime_numbers = primes_in_range(start, end);
    // Print the prime numbers found within the range
    println!("Prime numbers in range {:?} to {:?}: \n{:?}", start, end, prime_numbers);
}

Output:

Prime numbers in range 1 to 30: 
[2, 3, 5, 7, 11, 13, 17, 19, 23, 29]

Explanation:

In the exercise above,

  • The "is_prime()" function checks whether a given number is prime. It returns 'true' if the number is prime and 'false' otherwise.
  • The "primes_in_range()" function generates a vector containing prime numbers within a given range. It uses the "filter()" method along with the "is_prime()" function to filter out non-prime numbers from the range.
  • In the "main()" function, we define the range of numbers (start to end) and call the "primes_in_range()" function to get the prime numbers within that range. Finally, we print the result.

Rust Code Editor:


Previous: Rust Program: Calculate differences in Arrays.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.