求救,如何线程池求质数?
老顽童 2018-01-29 04:34:39 求不大于N的最大50个质数。N=9223372036854775807
我现在单线程程序写好了,求大牛改为线程池的。谢谢
//package Hello;
import java.util.*;
import java.math.*;
import java.io.*;
public class Prime
{
public static boolean prime(long n)
{
long i,k;
k= (long )Math.ceil(Math.sqrt(n));
for(i=2;i<=k;i=i+1)
{
if(n%i==0)
return false;
}
return true;
}
public static void main(String args[])
{
long li,counter=0;
int i;
//JAVA不支持UInt64!!!!
//double n=18446744073709551615.0;
long s,n=9223372036854775807L;
long start=System.currentTimeMillis();
while(counter<50)
{
if(prime(n))
{
counter++;
System.out.println("prime("+counter+")="+n);
}
}
long end=System.currentTimeMillis();
System.out.println("time used: "+(end-start)+" ms");
}
}