题解 | #质数因子#

质数因子

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

//思路:一个正整数的质因子是不大于其平方根的

import java.util.*;
public class Main{
    public static void  main(String[] args){
        Scanner scanner = new Scanner(System.in);
        long num = scanner.nextLong();
        //求取平方根
        long k = (long) Math.sqrt(num);
        //这里用到了一个规律:一个正整数的质因子是不大于其平方根的
        for(long i = 2;i<=k; i++){
            while(num % i == 0){
                System.out.print(i + " ");
                //将输入的数 变小 继续求质因数
                num /= i;
            }
        }
        //
        System.out.println(num == 1 ? "": num+" ");
    }
}
全部评论

相关推荐

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