题解 | #质数因子#

质数因子

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

import java.util.*;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        while (in.hasNextInt()) { // 注意 while 处理多个 case
        int n=in.nextInt();
        StringBuilder sb=new StringBuilder();
        int b=n;
        int flag=0;
        for(int i=2;i*i<=b;i++)//遍历到n会超时,所以用算数平方根提高效率
        {
            while(n%i==0)
            {
                
                sb.append(i);
                sb.append(" ");
                n=n/i;
                flag++;
            }
            
            if(n==1) break;  //当n为1时,跳出循环
        }
        if(n!=1)   //有可能被前面的小质数因子除了后,成了一个质数,需要把这个数加上后期打印
        sb.append(n).append(" ");
        if(flag==0)
        System.out.print(b);
        else
        System.out.print(sb.substring(0,sb.length()-1));
        

}
    }
}

全部评论

相关推荐

07-25 10:53
门头沟学院 Java
投递简历一星期多了,一直卡在第一个环节没进展是不是已经没戏了
Peter____G...:其他大厂都过了,甚至在字节实习了,但是莉莉丝简历依旧秒挂
投递莉莉丝游戏等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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