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}