判断一个正整数是否有两个素数的乘积
public static void main(String[] args) { int a = 44; if (isPrime(a)) { System.out.println("a是素数,找不到两个素数相乘"); } else { for (int i = 2; i < a; i++) { if (a%i == 0) { int s = a / i; //判断两个乘数是否素数 if (isPrime(i) && isPrime(s)) { System.out.println("a不是素数,找到两个素数相乘"+i+"x"+s); break; }else { System.out.println("a不是素数,找不到两个素数相乘"+i+"x"+s); break; } } } } } private static boolean isPrime(int src) { double sqrt = Math.sqrt(src); if (src < 2) { return false; } if (src == 2 || src == 3) { return true; } if (src % 2 == 0) {// 先判断是否为偶数,若偶数就直接结束程序 return false; } for (int i = 3; i <= sqrt; i+=2) { if (src % i == 0) { return false; } } return true; }
#笔试题目#