题解 | #质数因子#

质数因子

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

有一个问题就是不知道为啥这里没有常见的

 while (in.hasNextLine()) 
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
    
        long num = in.nextLong();
        long k = (long) Math.sqrt(num);
        for (long i = 2; i <= k; i++) {
            while (num % i == 0) {
                System.out.print(i + " ");
                num /= i;
            }
        }
        // 如果num不等于1,说明num本身是一个质因子(大于sqrt(num))
        // 或者输入的num本身就是1,没有质因子
        System.out.println(num == 1 ? "" : num + " ");

    }
}

#悬赏#
全部评论
如果在 while (in.hasNextLine()) 里面写,就会报错,之前的不知道为什么没有问题。
点赞 回复 分享
发布于 2023-06-18 01:44 英国

相关推荐

三年之期已到我的offer快到碗里来:9硕都比不上9本
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务