#prime #factor #eratosthenes #prime-factors

prime_tools

生成质数,获取质因数,检查质数性,以及其他有用的质数相关工具

8个版本

0.3.4 2020年10月6日
0.3.3 2020年10月6日
0.2.2 2019年10月19日
0.1.3 2019年10月15日

#1696数学

Download history 85/week @ 2024-04-01 24/week @ 2024-04-08 43/week @ 2024-04-15 46/week @ 2024-04-22 33/week @ 2024-04-29 29/week @ 2024-05-06 33/week @ 2024-05-13 46/week @ 2024-05-20 53/week @ 2024-05-27 31/week @ 2024-06-03 25/week @ 2024-06-10 33/week @ 2024-06-17 28/week @ 2024-06-24 8/week @ 2024-07-01 13/week @ 2024-07-08 32/week @ 2024-07-15

85 每月下载量
用于 5 个制品 (2 直接)

MIT 协议

15KB
280

prime_tools 制品 构建状态

此工具提供了一些处理质数的工具。

主要用于个人使用,解决项目欧拉问题。 :)

fn get_primes_less_than_x(x: u32) -> Vec<u32>

生成从2到x(不包括x)的有序质数列表。

在底层使用埃拉托斯特尼筛法。

fn get_prime_factors_with_counts(x: u32, primes: &Vec<u32>) -> HashMap<u32, u32>

与get_primes_less_than_x一起使用。请确保传入的primes至少达到sqrt(x)。

fn is_u32_prime(x: u32) -> bool

确定x是否为质数。这很快!我在处理100万随机u32时将其基准测试为2.7秒。

fn is_u64_prime(x: u64) -> bool

确定x是否为质数。这相当慢:我在处理仅200个随机u64时将其基准测试为26秒。 :(

fn get_primes_between(min: u64, max: u64) -> Vec<u64>

生成介于min(包含)和max(不包括)之间的质数。使用改进的埃拉托斯特尼筛法。

警告1:如果max大于约10^17,或者范围太大,这可能会非常慢。

警告2:如果max比约10^19高得多,这将会出错

依赖关系

~445–680KB