java 中素数求解

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 中素数求解)