思路:从质数2开始,如果2能整除num,就一直整除,直到不能整除。然后判断能不能被3整除,能的话,就一直整除。至于4是不用考虑的,因为如果4能整除num,自然2也能整除。整除后输出当前的i值(也就是2,3等),并且修改num的值为被整除后的值。
public static void main(String[] args) { Scanner in = new Scanner(System.in); // 注意 hasNext 和 hasNextLine 的区别 int num=in.nextInt(); int mul=num;//用于保存被整除后的值。 for(int i=2;i<=num;i++){ if(mul==1){//已经找到所以的质因数,退出循环。 break; }else{ while(mul%i==0){//如果能被i整除,就一直除 mul/=i;//更新mul的值 System.out.print(i+" ");//输出质因数i } } } }