1.素数的特点,不存在公因数的自然数,从2,3,5,7……
2.要知道一个数字是不是素数,则判断这个数字是否能被其他数字整除,假设该数字是n,则将n除以2(到n-1),一共除了n-2次
3.如果不能被整除的次数是n-2次,则该数字是素数
大家可能对素数2感到疑惑,在本代码中不用被特殊对待。
当i等于2时,2%2=0;2不能被整除的次数是0;
又因为count=i-2;也就是0=2-2;所以符合条件2为素数
package ceshi;
public class sushu {
public sushu(int n,int m){
int geshu=0;//素数个数为0;
for(int i=n ;i<=m;i++){
int count=0;//定义能被整除的次数count;
for(int j=2;j<i;j++){
int yu;
yu=i%j;//求i除以2到i-1的余数
if(yu!=0){//如果余数不为0,count加1;
count++;
}
}
//System.out.println("不能被整除的次数"+count);
if(count==(i-2)){//当count=i-2时,说明都不能被整除,说明是素数,则输出i,素数个数geshu加1;
System.out.print(i+" ");
geshu++;
}
}
System.out.println();
System.out.println("素数的个数:"+geshu);//输出素数个数
}
}
main函数:
package ceshi;
import java.util.Scanner;
public class main_class {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner pen=new Scanner(System.in);
System.out.println("请输入范围");
System.out.println("起点");
int n=pen.nextInt();
System.out.println("终点");
int m=pen.nextInt();
sushu shu=new sushu(n,m);
}
}