#素数 #数字 #梅森 #米勒-拉宾 #生成 #测试 #检查

mersenne-prime-number-miller-rabin

此包提供生成梅森数和使用米勒-拉宾算法测试素性的函数。

1 个不稳定版本

0.1.0 2023 年 3 月 28 日

#1363数学

GPL-2.0-or-later

97KB
907 代码行

梅森素数 - Rust

此包的开发是为了研究梅森素数。它包含生成梅森数和检查其是否为米勒-拉宾算法中可能的素数的函数。

梅森数

形式为 $M_n=2^n-1$ 的数称为 梅森数。如果 $M_n$ 是素数,则 $n$ 也是素数,但反之不一定成立。最小的反例是 $M_{11}=2047=23\cdot 89$。

梅森素数 - 维基百科

米勒-拉宾算法

米勒-拉宾算法是一个检查一个数是否可能是素数或合数的算法。 米勒-拉宾算法 - 维基百科

文档

在 crate.io 上检查

安装

将以下代码放入您的 Cargo.toml 文件中

[dependencies]
mersenne-prime-number-miller-rabin = "0.1.0"

示例

让我们看一个基本的示例

use mersenne_prime_number_miller_rabin::is_prime;
use mersenne_prime_number_miller_rabin::mersenne_number;

let one_mersenne_number = mersenne_number(61);
let is_prime_result = is_prime(one_mersenne_number);
println!("Is prime ? {} ", is_prime_result);

依赖关系

~485KB
~10K SLoC