题解 | #质数因子#

质数因子

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

import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);

        int tar=in.nextInt();
        int i=2;
        while(tar>1){
            if(tar%i==0){//这些不做解释,%i=0就继续,不是就++
                tar/=i;
                System.out.print(i+" ");
            }else{
                //if(i>Math.sqrt(tar)){//最主要是这两行,当做是边界条件,当i>tar的平方根时
                if(tar<Math.pow(i,2)){//也就是tar<i^2时,就说明后面也不会有质因子了,退出循环
                    System.out.print(tar);
                    break;
                }
                i++;
            }
        }
    }
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务