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 在 数学
85 每月下载量
用于 5 个制品 (2 直接)
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