You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
nprimo 92d91c30f8 feat(prime_checker): add new rust exercise 2 years ago
..
README.md feat(prime_checker): add new rust exercise 2 years ago

README.md

prime_checker

Instructions

Create a function prime_checker that takes an u32 and check if it is a prime number.

The result will be None if the argument is less or equal one otherwise, it will return the result with the prime number inside if the number is prime, or it will return an enum PrimeErr if the u32 is not prime.

The enum PrimeErr will be Even if the number is even or Divider(u32) where the u32 is the smaller divider of the number if it is not prime.

Expected Function and structure

#[derive(PartialEq, Eq, Debug)]
pub enum PrimeErr {
    Even,
    Divider(u32),
}

pub fn prime_checker(nb: u32) -> Option<Result<u32, PrimeErr>> {}

Usage

Here is a program to test your function:

use prime_checker::*;

fn main() {
    println!(
        "Is {} prime? {}",
        2,
        match prime_checker(2) {
            Some(res) => {
                match res {
                    Ok(_) => "Yes, it is!",
                    Err(_) => "No, it is not!",
                }
            }
            None => "Less than 2",
        }
    );
    println!(
        "Is {} prime? {}",
        14,
        match prime_checker(14) {
            Some(res) => {
                match res {
                    Ok(_) => "Yes, it is!",
                    Err(_) => "No, it is not!",
                }
            }
            None => "Less than 2",
        }
    );
}

And its output:

$ cargo run
Is 2 prime? Yes, it is!
Is 14 prime? No, it is not!
$