美文网首页
java 中素数求解

java 中素数求解

作者: 檬子树桥 | 来源:发表于2018-04-20 16:20 被阅读0次

    package PrimeNumbers;

    import java.util.List;

    import java.util.Scanner;

    /** * 素数求解,素数:质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数。

     * * @author min * */

    public class PrimeNumbersDemo {public static void main(String[] args) {

    Scanner scanner = new Scanner(System.in) ;

    System.out.println("Find all numbers <=n, enter n=");

    int n = scanner.nextInt() ;

    final int NUMBER_PER_LINE = 10 ; //一行中展现10个数

    int count = 0 ; //计素数的总数

    int number = 2 ; //给定第一个素数

    int squareRoot = 1 ; //查找number<=squareRoot   //方法二所要用

    System.out.println("The Prime Number are:");

    /*  方法一:

    //寻找素数

    while(number <= n) { 

     //假设isPrime是true

    boolean isPrime = true ; 

     //测试数是否为素数

    for(int divistor = 2 ;divistor <=(int)(Math.sqrt(number));divistor++) {

    if(number %divistor == 0) {

    isPrime = false ;break ;

    }

    }

    */

    //方法二:

    java.util.Listlist = new java.util.ArrayList();

    while(number <=n) {

    boolean isPrime = true ;

    if(squareRoot*squareRoot

    //打印素数并增加数

    if(isPrime) {

    count++;

    list.add(number);

    if(count % NUMBER_PER_LINE ==0) {

    System.out.printf("%7d\n",number);

    }

    else

    System.out.printf("%7d",number);

    }

    //检查下一个数是否为素数

    number ++ ;

    }

    System.out.println("\n" + count + "prime less than or equal to" +n);

    }

    }

    --------------------------------------------------------------

    运行结果:

    相关文章

      网友评论

          本文标题:java 中素数求解

          本文链接:https://www.haomeiwen.com/subject/nthzkftx.html