-
Notifications
You must be signed in to change notification settings - Fork 7
Open
Description
When I wrote a little program to check out how this crate works and I found something strange. Now I am not an expert in prime numbers so I might have done something wrong.
use num_primes::*;
fn main() {
let numbers = [
Generator::new_prime(512),
Generator::new_prime(32),
Generator::new_prime(16),
17957u32.into(),
5u32.into(),
];
for number in numbers {
if Verification::is_prime(&number) {
println!("{} is a prime number", number);
} else {
println!("{} is not a prime number", number);
}
}
}And the result I got was:
7143985141390067685062171960235716944255257884955901307961617824283167357210788588888340513160296160835326595412561271828611378926148900988701377840767267 is a prime number
2161366811 is a prime number
49331 is a prime number
17957 is not a prime number
5 is not a prime number
I expected both 17957 and 5 to be prime numbers. So I tried to generate a 8 bit prime number but then the program hang. I then tried to find the limit of the minimum number of bits for which a prime number could be generated and found that Generator::new_prime(15) worked fine but Generator::new_prime(14) made the program hang (probably stuck in an infinite loop some where).
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels