算法思想:在大于1的自然数中,除了1和它本身之外,再没有其他的因数的数就是素数。
我们可以利用循环的特点,从2逐个做为除数。如果一个都不能整除,那么这个数就是我们所需要的。代码如下:
import java.util.Scanner;
class PrimeNumber{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个正整数,以便列出其范围内的所有素数");
int n = sc.nextInt();
int count=0;
for(int i=2; i<=n; i++){
int times=0;
for(int j=2; j<=i/2; j++){ //只需要除到i的一半
if(i%j==0){
times++;
break; //只要进了if语句,即可确定不是素数。break语句也可省略
}
}
if(times==0){ //素数条件
System.out.print(i+"\t");
count++;
if(count%10==0){
System.out.println();
}
}
}
System.out.println();
System.out.println();
System.out.println(n+"以内的素数一共有"+count+"个.");
}
}