求一个数的所有质因子(既是质数又是因子)

package findAge;
import java.util.*;
public class Main{
    public static void main (String[] args){
        Scanner sc = new Scanner(System.in);
        long ulDataInput = sc.nextLong();
        String result = getResult(ulDataInput);
        System.out.print(result.toString());
    }
    public static Boolean isSuShu(long ulDataInput){
        for(int i=2;i<ulDataInput/2;i++){
            if(ulDataInput%i==0){
                return false;
            }
        }
        return true;
    }
    public static String getResult(long ulDataInput){
        String s = new String();
        for(int i=2;i<ulDataInput/2;i++){
            if(ulDataInput%i==0 && isSuShu(i)){
                s=s+i+" ";
            }
        }
        return s;
    }
}

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

import java.util.*;
public class Main{
    public static void main (String[] args){
        Scanner sc = new Scanner(System.in);
        long ulDataInput = sc.nextLong();
        String result = getResult(ulDataInput);
        System.out.print(result.toString());
    }
    public static Boolean isSuShu(long ulDataInput){
        for(int i=2;i<ulDataInput/2;i++){
            if(ulDataInput%i==0){
                return false;
            }
        }
        return true;
    }
    public static String getResult(long ulDataInput){
         String s = new String();
         long number = ulDataInput;
         while(number != 1)
         {
            for(int i = 2; i <= number ;i++)
            {
                if(number % i == 0)
                {
                    number /= i;
                    s=s+i+" ";
                    break;
                }
            }
        }
        return s;
    }
}

猜你喜欢

转载自blog.csdn.net/cayman_2015/article/details/82351186
今日推荐