java实现-质数因子

题目描述

功能:输入一个正整数,按照从小到大的顺序输出它的所有质因子(重复的也要列举)(如180的质因子为2 2 3 3 5 )

最后一个数后面也要有空格

输入描述:

输入一个long型整数

输出描述:

按照从小到大的顺序输出它的所有质数的因子,以空格隔开。最后一个数后面也要有空格。

示例1

输入

180

输出 

2 2 3 3 5

网上搜索的好像都没我的简洁,测试通过效率应该还可以,代码如下:

import java.util.Scanner;

public class Main{
    
    
    public static void handler(int num) {
        while(num != 1) {
            for(int i = 2; i <= num; ++i) {
                if( num % i == 0) {
                    System.out.print( i + " ");
                    num = num / i;
                    break;
                }
            }    
        }
        
    }
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while(sc.hasNext()) {
            handler(sc.nextInt());
        }
        
    }
}
原文地址:https://www.cnblogs.com/zhouquan-1992-04-06/p/13796093.html