题解 | #质数因子#
质数因子
https://www.nowcoder.com/practice/196534628ca6490ebce2e336b47b3607
import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int a = scanner.nextInt(); // i < a 换成 i*i < a,可以加快速度 for (int i = 2; i * i <=a; i++) { if (isPrime(i) && a % i == 0) { System.out.print(i + " "); // 重新找 a = a / i; i = 1; } } System.out.println(a + " "); } private static boolean isPrime(int n) { if (n == 2 || n == 3 || n == 5 || n == 7 || n == 11 || n == 13) { return true; } if (n > 13) { for (int j = 2; j < n; j++) { if (n % j == 0) { return false; } } return true; } return false; } }