这个问题在这里已经有答案了:
寻找素数的最快算法是什么(17个答案)
5天前关门了。
我写了一个生成素数的程序。有更好的方法吗?另外,我如何改进我自己的方法。
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;
}
1条答案
按热度按时间n3h0vuf21#
可以使用sieve方法生成时间复杂度更好的素数。