Java之判断一个数是否为素数

版权声明:转载请联系作者微信 2992860292, QQ同号, 未经许可, 禁止转载 https://blog.csdn.net/qq_40723748/article/details/84593959
public class PrimeNumberTest {
    public static void main(String[] args) {
        long start = System.currentTimeMillis();
        System.out.println(isPrimeNumber(29));
        printNum(1000);
        long end = System.currentTimeMillis();
        System.out.println("\nTime spent: " + (end - start));
    }

    static boolean isPrimeNumber(int number) { //判断是否为素数
        int sqrt = (int) Math.sqrt(number);
        for (int j = 2; j <= sqrt; j++)  //从2到number的算术平方根迭代
            if (number / j * j == number) //判断j是否为number的因数, 是的话, 则number为合数, flag值变为false;
                return false;
        return true;
    }

    static void printNum(int number) { //打印出 <= number的所有质数
        int j = 0;
        for (int i = 2; i <= number; i++)
            if (isPrimeNumber(i) == true) {
                System.out.printf("%-9d", i);
                j++;
                if (j % 10 == 0) //每隔十个数字换行
                    System.out.println();
            }
    }
}

运行结果:

true
2        3        5        7        11       13       17       19       23       29       
31       37       41       43       47       53       59       61       67       71       
73       79       83       89       97       101      103      107      109      113      
127      131      137      139      149      151      157      163      167      173      
179      181      191      193      197      199      211      223      227      229      
233      239      241      251      257      263      269      271      277      281      
283      293      307      311      313      317      331      337      347      349      
353      359      367      373      379      383      389      397      401      409      
419      421      431      433      439      443      449      457      461      463      
467      479      487      491      499      503      509      521      523      541      
547      557      563      569      571      577      587      593      599      601      
607      613      617      619      631      641      643      647      653      659      
661      673      677      683      691      701      709      719      727      733      
739      743      751      757      761      769      773      787      797      809      
811      821      823      827      829      839      853      857      859      863      
877      881      883      887      907      911      919      929      937      941      
947      953      967      971      977      983      991      997      
Time spent: 140

猜你喜欢

转载自blog.csdn.net/qq_40723748/article/details/84593959