import java.util.Scanner;
public class Prime {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.print("请输入一个长整数:");
Scanner scan = new Scanner(System.in);
long p = scan.nextLong();
System.out.println(isPrime(p));
}
static int isPrime(long a){
for(int i=2; i<=Math.sqrt(a); i++){
if(a%i == 0){
return 0;//不为质数
}
}
return 1;//为质数
}
}
运行结果:
思想:质数只能被1和本身整除,设一个数为n,假如有大于根号n的数能整除n,那么必然会有小于根号n的数整除n,所以只需判断到根号n,而不必判断到n-1.