Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dart 如何检查非常大的BigInt fast的素性?_Dart_Biginteger_Primality Test - Fatal编程技术网

Dart 如何检查非常大的BigInt fast的素性?

Dart 如何检查非常大的BigInt fast的素性?,dart,biginteger,primality-test,Dart,Biginteger,Primality Test,我正在生成一个大的BigInt,需要测试它是否是素数。然而,这个简单的算法需要很长的时间 bool\u isProbablePrime(BigInt n){ var _isPrime=true; 对于(变量i=BigInt.from(2);i

我正在生成一个大的BigInt,需要测试它是否是素数。然而,这个简单的算法需要很长的时间

bool\u isProbablePrime(BigInt n){
var _isPrime=true;
对于(变量i=BigInt.from(2);i<(n);i=i+BigInt.one){
如果(n%i==BigInt.zero)\u isPrime=false;
}
返回(isPrime);;
}
是否还有另一种更有效的算法,它具有相当高的确定性,可以正确地检查n的素性


感谢您的帮助,并提前表示感谢!:对于所有感兴趣的人来说:最简单的解决方案似乎是使用Miller-Rabin素性测试的实现

有一个名为ninja_素数的dart包,它使用这种算法来确定大整数的素数。

我在谷歌上搜索并查看了不同的算法,但我对其中任何一种都不太了解。你读过这篇文章吗@ziggystar是的,但我似乎找不到一个可以在dart中轻松实现的算法。还有一个困难是没有用于bigint的log()函数。