File: find_mersenne_primes.rs

package info (click to toggle)
rust-num-prime 0.4.4-2
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 684 kB
  • sloc: python: 40; makefile: 4
file content (16 lines) | stat: -rw-r--r-- 429 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
use num_prime::nt_funcs::{is_prime, primes};

/// Find all mersenne primes 2^p-1 where p < 128, return a list of p
fn list_mersenne() -> Vec<u64> {
    primes(128)
        .into_iter()
        .filter(|p| is_prime(&(2u128.pow(*p as u32) - 1), None).probably())
        .collect()
}

fn main() {
    println!("Mersenne primes under 2^128:");
    for p in list_mersenne() {
        println!("2^{} - 1", p);
    }
}