题解 | #质数因子#

质数因子

https://www.nowcoder.com/practice/196534628ca6490ebce2e336b47b3607

import java.lang.Math;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static boolean isPrimeNUmber(int num){
        for(int i=2;i<(sqrt(num)+1);i++){
             if(num%i==0){
                return false;
             }
        }
        return true;
    }

    private static int sqrt(int num) {
        for(int i=1;i<num;i++){
            if(i*i>=num){
                return i;
            }
        }
        return 0;
    }

    public static void main(String[] args) {
        Scanner scanner=new Scanner(System.in);
        int num=scanner.nextInt();
        ArrayList<Integer> arr=new ArrayList<Integer>();
        while(num!=1){
            for(int i=2;i<=num;i++){
                if((num%i==0)&&isPrimeNUmber(i)){
                    num/=i;
                    arr.add(i);
                    if(num!=1&&isPrimeNUmber(num)){
                        arr.add(num);
                        num/=num;
                    }
                    break;
                }

            }
        }
        Collections.sort(arr);
        for(int i=0;i<arr.size();i++){
            System.out.print(arr.get(i)+" ");
        }

    }
}

全部评论

相关推荐

秋国🐮🐴:拿到你简历编号然后让你知道世间险恶
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务