我想为一个由一个整数数组形成的数字创建一个isPrime方法,即从最后开始填充25个整数的数组。例如13512将如下所示:{0,0,0,0,0,... 0,0,1,3,5,1,2}。所以我的目标是为许多这种形式创建一个isPrime方法。我需要一些好的算法的想法。有什么帮助吗?
答案 0 :(得分:1)
您可以尝试以下方法
boolean isPrime(BigInteger n) {
//check if n is a multiple of 2
if (n.remainder(2)==0) return false;
//if not, then just check the odds
for(int i=3;i*i<=n;i+=2) {
if(n.remainder(i)==0)
return false;
}
return true;
}
boolean processArray(int[] a)
{
BigInteger bi = BigInteger.valueOf(0);
for(int i=0;i<a.length();i++)
{
bi = bi.add(BigInteger.valueOf(a[i]*(Math.pow(10,i))));
}
return isPrime(bi);
}
使用您拥有的数组调用processArray。