- made description more verbose to not disclose exact return type
- add an example with a higher number in the example
- add a line to ask for a certain degree of optimization
Create a **function**`prime_checker` that takes an `u32` and check if it is a prime number.
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 result will be `None` if the argument is less or equal one otherwise, it will return a `Result`.
If the `u32` is prime, the function will return an`Ok(u32)`; for any other case it will return an `enum``PrimeErr`.
The `enum``PrimeErr` will be `Even` if the number is a multiple of two or `Divider(u32)` where the `u32` is the smallest divider of the number.
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.
> Your solution should be optimized to a certain degree