题解 | #质数因子#

质数因子

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

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        int num = in.nextInt();
        int n = num;

        for (int i = 2; i <= Math.sqrt(num) + 1; i++) {
            int tmp = num % i;
            int div = num / i;
            if (tmp == 0) {
                System.out.print(i + " ");
                i = 1; // 实际上是下一次循环还从2开始,因为有i++;
                num = div; // 下一次循环是对除过的数进行判断
                n = div; //保存除过的数,因为有可能为最后一个质数
            }
        }
        if (n != 1) {
            System.out.print(n); //若n不等一1,那么就是本身为质数的数没有被检测到
        }
		// 有空循环,不推荐
        // for (int i = 2; i <= num; i++) {
        //     while (num % i == 0) {
        //         num /= i;
        //         System.out.print(i + " ");
        //     }
        //     if (i <= num && i * i > num) {
        //         System.out.print(num + " ");
        //         break;
        //     }
        // }
	  in.close();
    }
}

全部评论

相关推荐

不愿透露姓名的神秘牛友
06-26 14:50
人力小鱼姐:有后面墨迹那两句的时间问题早回答完了
点赞 评论 收藏
分享
06-11 13:34
门头沟学院 C++
offe从四面八方来:我真的没时间陪你闹了
点赞 评论 收藏
分享
就在我现在公司的隔壁每天经过都唏嘘不已(就是羡慕)什么时候可以到这里上班啊
柯基在debug:从大学毕业投简历到现在了,应届的时候我都面到终面了,现在工作四年了连简历初筛都过不了了
投递莉莉丝游戏等公司8个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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