zoukankan      html  css  js  c++  java
  • Java之判断一个数是否为素数

    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("
    Time 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
    苟利国家生死以, 岂因祸福避趋之
  • 相关阅读:
    【Maven】构建子项目命令Maven clean/install modules
    【DB】Oracle批量导入CSV数据
    【DB】索引与性能
    【Postfix】邮件转存
    【Mybatis】Oracle Sequence序列的失序问题
    【Java】java.sql.SQLRecoverableException 解释
    【I/O】NAS 性能测试
    【Java】JVM线程状态查询
    【Oracle】记录一次数据库连接池性能瓶颈问题
    【JavaMail】
  • 原文地址:https://www.cnblogs.com/chintsai/p/10117057.html
Copyright © 2011-2022 走看看