题解 | #质数因子#

质数因子

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

1、输入最大值在int数据类型范围之内,质因数:所有因数中是质数的因数;i从2-根下num即可,不断除下去,能整除的即为质因数,直到最后num为1;如果不为1,则本身为质数,输出num本身

import java.util.Scanner;


public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        //2*(10^9)+14, 2,000,000,014。这个值是在Java的int类型的表示范围内的,-2,147,483,648到2,147,483,647
        int num = in.nextInt();
        int k = (int) Math.sqrt((double) num);

        for(int i = 2; i <= k; i++){
            while(num % i == 0){
                System.out.print(i + " ");
                num /= i;
            }
        }
        System.out.print(num == 1 ? "" : num);
    }
}

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务