答案:
// 注意類名必須為 Main, 不要有任何 package xxx 資訊
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
// 1 注意題目給的資料範圍,定資料型別
int num = in.nextInt();
// 2 一個數的最大因子其實是它的平方根,比如100的最大因子是10,所以不用從2迴圈到100
double k = Math.sqrt(num);
// 所以num的因子就在2到k之間
for (int i = 2; i <= k; i++) {
// 3 只要num能被i整除,那麼i就是其中一個因子,然後繼續整除,直到不能整除時結束
while (num % i == 0) {
System.out.print(i + " ");
num = num / i;
}
}
// 4 不能整除的數,它就是最後的一個因子了。當然排除1的特殊情況,1沒有質數因子,因為質數本身就大於1
System.out.println(num == 1 ? "" : num);
}
}