如何解决如何检查大型BigInt快速存储器的素数?
我正在生成一个大的BigInt,需要测试它是否是质数。但是,这种简单的算法要花很长时间。
bool _isProbablePrime(BigInt n) {
var _isPrime = true;
for (var i = BigInt.from(2); i < (n); i = i + BigInt.one) {
if (n % i == BigInt.zero) _isPrime = false;
}
return _isPrime;
}
还有另一种效率更高的算法,可以正确确定n的素数吗?
感谢您的帮助,在此先感谢您! :D
解决方法
对每个感兴趣的人:最简单的解决方案似乎是使用Miller-Rabin素数测试的实现。
有一个名为ninja_prime的飞镖包,使用该算法确定BigInts的素数。 https://pub.dev/packages/ninja_prime
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。