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);
}
}
--------------------------------------------------------------
运行结果:
网友评论