Haskell中的Miller Rabin素性测试实现
Miller-Rabin素性检验是一个用于判断一个数是否为素数的算法示例。此代码在Haskell语言中实现了Miller-Rabin素性测试[1]。请注意,这不是确定性测试,该测试使用了20个随机见证人来检测素性。您可以通过更改函数isprime
中的见证人列表来调整准确性。增加见证人数量会提高准确性,但也会导致性能下降。这是一个用于Haskell学习的宠物项目 :)
[1] 文件结构:
-
质数.hs
-
isprime.hs
-
执照
-
自述文件
Primes.hs模块导出了三个主要函数:
-
isPrime seed num:测试
num
是否为素数 -
nextPrime seed num:返回大于或等于
num
的下一个素数 -
randomPrime seed nbits:返回一个
nbits
比特长度的随机素数
用法:
-
isprime.hs 是一个使用Primes模块的Haskell示例程序
-
可以使用如下命令编译它:
> gh
用户评论