质数(又称素数),是指在大于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的数字"); } } }