import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;
public class Main {
public static void main(String[] args) throws IOException {
Scanner scanner = new Scanner(System.in);
long num = scanner.nextLong();
handle(num);
}
public static void handle(long num){
long k = (long) Math.sqrt(num) + 2;
for (int i = 2; i <= k; i++) {
while (num%i==0){
System.out.print(i+" ");
num=num/i;
handle(num);
return;
}
if (i==k){
System.out.print(num);
}
}
}
}
这里用递归完美解决, 哈哈哈哈哈哈, 而且那里开方之后应该是+2, 不是+1

" src="https://uploadfiles.nowcoder.com/images/20220815/318889480_1660553763718/D9FDAE9918A39C99254A9D8D179628E5" />

" src="https://uploadfiles.nowcoder.com/images/20220815/318889480_1660553764153/6078915537BAB7E95CE12422FD944756" />

" src="https://uploadfiles.nowcoder.com/images/20220815/318889480_1660553763718/D9FDAE9918A39C99254A9D8D179628E5" />, 本来都要睡了, 突然想到了