分解一個long整數爲質數因子相乘

輸入一個正整數,按照從小到大的順序輸出它的所有質數的因子(如180的質數因子爲2 2 3 3 5 )
最後一個數後面也要有空格
import java.util.*;
public class Main{
    public static void main(String[]args){
        Scanner s=new Scanner (System.in);
        long ulDataInput=s.nextLong();
        String str=getResult(ulDataInput);
        System.out.println(str);              
    }
    public static String getResult(long ulDataInput){
        StringBuffer str=new StringBuffer();
        int n=2;
        while(n<=ulDataInput){
            if(ulDataInput%n==0){
                if(ulDataInput==n){
                    str.append(n+" ");
                    break;
                }else{
                    str.append(n+" ");
                    ulDataInput/=n;
                }
            }else{
                n++;
            }
        }
        return str.toString();
    }       
}
發佈了36 篇原創文章 · 獲贊 4 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章