import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
long num = scanner.nextLong();
long k = (long) Math.sqrt(num);
for (long i = 2; i <= k; ++i) {
while (num % i == 0) {
System.out.print(i + " ");
num /= i;
}
}
System.out.println(num == 1 ? "" : num + " ");
}
}
- 双重循环:
外层for循环,遍历质因数
内层while循环,遍历所有该质因数
- 最后,除完所有质因数后,如果剩下一个不为1 的数,它也是一个质因数

京公网安备 11010502036488号