如何利用筛选法查找100以内的素数

如何利用筛选法查找100以内的素数

package MonthSep.HWday04;
// 第一种方法
public class HW06 {
    public static void main(String[] args) {
        int[] a = new int[102];
        for(int i = 1; i < 101; i++){
            a[i] = 1;
        }
        for(int i = 2; i < 101; i++){
            if(a[i] != 0){
                for(int j = i + i; j < 101; j = j + i){
                    if(j % i == 0){
                        a [j] = 0;
                    }
                }
            }
        }
        for(int i = 2; i < 101; i++){
            if(a[i] != 0){
                System.out.println(i);
            }
        }
    }
}

// 第二种方法
package MonthSep.HWday04;

public class HW07 {
    public static void main(String[] args) {
        int k;
        for(int i = 1; i < 101; i++){
            k = (int) Math.sqrt(i);
            if(i == 2 || i == 3){
                System.out.println(" " + i);
            }else {
                for(int  j = 2; j <= k; j++){
                    if(i % j == 0){
                        break;
                    }
                    if(j >= k){
                        System.out.println(" " + i);
                    }
                }
            }
        }
    }
}





你可能感兴趣的:(真题编程练习)