Java 生成素数的更好方法是什么
我写了一个生成素数的程序。有没有更好的方法?此外,我如何改进自己的方法Java 生成素数的更好方法是什么,java,Java,我写了一个生成素数的程序。有没有更好的方法?此外,我如何改进自己的方法 public static void main(String[] args) { ArrayList<Integer> primeNumbers = new ArrayList<Integer>(primeNumberGenerator(1000)); System.out.println(primeNumbers); } public st
public static void main(String[] args) {
ArrayList<Integer> primeNumbers = new ArrayList<Integer>(primeNumberGenerator(1000));
System.out.println(primeNumbers);
}
public static ArrayList<Integer> primeNumberGenerator(int range){
ArrayList<Integer> primeNumbers = new ArrayList<Integer>();
int brake = 0;
int index = 0;
for(int i = 2; i < range; i++){
brake = 0;
for(int p = 2; p < range; p++){
if((i%p) == 0 && i != p && brake == 0){
brake = 1;
}
}
if(brake == 0){
primeNumbers.add(index, i);
index += 1;
}
brake = 0;
}
return primeNumbers;
}
publicstaticvoidmain(字符串[]args){
ArrayList素数=新的ArrayList(素数生成器(1000));
System.out.println(素数);
}
公共静态ArrayList primeNumberGenerator(整数范围){
ArrayList素数=新的ArrayList();
int制动器=0;
int指数=0;
对于(int i=2;i
您可以使用该方法生成时间复杂度更高的素数。该算法有很多变体。查看维基百科:不要忽略biginger.nextProbablePrime()
。正如上次你问这个问题时我所评论的:brake
应该是一个布尔值;您的内部循环条件可能是p*p