题目:功能:输入一个正整数,按照从小到大的顺序输出它的所有质数的因子(如180的质数因子为2 2 3 3 5 )最后一个数后面也要有空格。
分析:注意到只要是正整数,其求解出来的因子应该都为质数。本题的主要考点就是求一个正整数的所有质数。
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
ArrayList<Integer> arrayList=new ArrayList<>();
long num = 0;
while (scanner.hasNextLong()) {
num = scanner.nextLong();
for (int i = 2; i <= num; i++) {
while(num%i==0){
num/=i;
arrayList.add(i);
}
if(num==1){
break;
}
}
for(Integer i:arrayList){
System.out.print(i+" ");
}
}
}
}