public class Main {
int[] prime = new int[100];
int index = 0;
public static void main(String[] args) {
Main main = new Main();
main.find_prime2(100);
main.show();
}
boolean judge(int num){
if(num < 2) return false;
int sqr = (int)Math.sqrt(num);
for(int i = 2; i <= sqr; i++){//n == 2依然可以满足,不会进入到for循环
if(num % i == 0) return false;
}
return true;
}
void find_prime(int n){
for(int i = 0; i <= n; i++){
if(judge(i)){
prime[index++] = i;
}
}
}
boolean flag[] = new boolean[100];
void find_prime2(int n){//通过标记方法来寻找
for(int i = 2; i < 100; i++){
if(flag[i] == false){
prime[index++] = i;
for(int j = 2*i; j < 100; j += i){
flag[j] = true;
}
}
}
}
void show(){
for(int i = 0; i < index; i++){
System.out.print(prime[i] + " ");
}
}
}
素数表的判断-两种方法
最新推荐文章于 2022-12-07 11:47:46 发布