输出10000以内的素数(Java)

问题描述:编程打印出10000以内的所有素数。
思路:使用while循环,使用穷举暴力法判断是否为素数,若是,则打印,不是则继续。
而对于判断素数的算法,先来看素数的定义,约数只有1和其本身的数称之为素数。那么没必要去比较大于n/2的情况,因为n=2*n/2,假设m>n/2,那么n必然不能被m整除。
代码:

 public class judgeisPrime {
public static void main(String[] args) {
		final int N =10000;//定义一个常量
		int i=0,count=0;//count用来规格化输出,这里选择一行5个素数
		while( i<=N) {    //穷举法从i到N
			if(isPrime(i)) { //调用判断函数
				System.out.printf("%5d",i);
				count++;
			}
			i++;
			if(count%5==0) {//一行满五个则换行输出
				System.out.printf("\n");}
			}
		}
//判断素数函数
	public static boolean isPrime(int number) {
		 for (int divisor = 2; divisor <= number / 2; divisor++) {
		if (number % divisor == 0) {//能整除则说明不是素数,return false
		 return false; // 
		}
		 }	
		 return true;}
}

你可能感兴趣的:(输出10000以内的素数(Java))