这题还是有点恶心的
首先得是质数
然后,必须从小往大地来,也就是一旦被整除就要退出循环重新开始
嗯,还要注意要开long
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scanner=new Scanner(System.in);
long n=scanner.nextLong();
long t=n;
while(n!=1) {
for (int i = 1; i <= t; i++) {
if(n%i==0&&isPrime(i)) {
n=n/i;
System.out.print(i+" ");
break;
}
}
}
}
public static boolean isPrime(long n) {
if(n<=1)return false;
for (int i = 2; i <= Math.sqrt(n); i++) {
if(n%i==0)return false;
}
return true;
}
}



京公网安备 11010502036488号