isPrime方法用于由一组int创建的数字?

时间:2015-01-30 17:40:27

标签: java arrays

我想为一个由一个整数数组形成的数字创建一个isPrime方法,即从最后开始填充25个整数的数组。例如13512将如下所示:{0,0,0,0,0,... 0,0,1,3,5,1,2}。所以我的目标是为许多这种形式创建一个isPrime方法。我需要一些好的算法的想法。有什么帮助吗?

1 个答案:

答案 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。