质数(又称素数),是指在大于1的自然数中,除了1和它本身外,不能被其他自然数整除(除0以外)的数称之为素数(质数)。请写个程序判断输入的数字是否是质数,如果是素数请输出:true,不是请输出false
输入待判断的数字
判断的结果:true或false
2
true
4
false
请注意算法效率,该题目有时间限制 , 输入的数字小于2^64 次幂
package leecode;
public class IsPrimeDemo {
public static boolean isPrime(int n){
if (n < 1){
return false;
}
int i = 2;
int end = (int) Math.sqrt(n);
while (i <= end ){
if (n % i == 0){
return false;
}
++i;
}
return true;
}
public static void main(String[] args) {
int n = 7;
System.out.println(isPrime(n));
}
}
public static void main(String[] args) {
while (true) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入数字");
int num = scanner.nextInt();
if (num > 1) {
if (num == 2 || num == 3) {
System.out.println(true);
}
int i = 2;
int end = (int) Math.sqrt(num);
while (i <= end) {
if (num % i == 0) {
System.out.println(false);
break;
}else{
System.out.println(true);
break;
}
}
}else {
System.out.println("输入数字不合规,请输入大于1的数字");
}
}
}