题解 | 质数因子

质数因子

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 num = in.nextInt();
        StringBuilder sb = new StringBuilder();
        // 从2开始,如果能被整除,则直接添加到结果集中
        for(int i = 2; i * i <= num; i++) {		// i * i <= num 是为了优化效率,如果 num 有一个 大于 根号num的因子,那么它一定对应有一个小于根号 num 的因子。从小到大枚举,已经把小于根号 num 的因子排除干净了
            while(num % i == 0) {
                sb.append(i).append(" ");
                num /= i;
            }
        }

        // 如果最后 num 仍然大于 1,说明 num 本身就是一个质数
        if (num > 1) {
            sb.append(num);
        } else{ // 否则移除最后一个空格
            sb.setLength(sb.length() - 1);
        }
        System.out.println(sb.toString());
    }
}

全部评论

相关推荐

白火同学:1、简历可以浓缩成一页,简历简历先要“简”方便HR快速过滤出有效信息,再要“历”用有效信息突出个人的含金量。 2、教育背景少了入学时间~毕业时间,HR判断不出你是否为应届生。 3、如果你的平台账号效果还不错,可以把账号超链接或者用户名贴到对应位置,一是方便HR知道你是具体做了什么内容的运营,看到账号一目了然,二是口说无凭,账号为证,这更有说服力。
面试被问期望薪资时该如何...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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