find_mersenne_primes/find_mersenne_primes.rs
1use num_prime::nt_funcs::{is_prime, primes};
2
3/// Find all mersenne primes 2^p-1 where p < 128, return a list of p
4fn list_mersenne() -> Vec<u64> {
5 primes(128)
6 .into_iter()
7 .filter(|p| is_prime(&(2u128.pow(*p as u32) - 1), None).probably())
8 .collect()
9}
10
11fn main() {
12 println!("Mersenne primes under 2^128:");
13 for p in list_mersenne() {
14 println!("2^{} - 1", p);
15 }
16}