题解 | #质数因子#

质数因子

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

import java.util.Scanner;

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

        Scanner scanner = new Scanner(System.in);
        int a = scanner.nextInt();
//       i < a 换成 i*i < a,可以加快速度
        for (int i = 2; i * i <=a; i++) {

            if (isPrime(i) && a % i == 0) {
                System.out.print(i + " ");
//                重新找
                a = a / i;
                i = 1;
            }

        }
        System.out.println(a + " ");


    }

    private static boolean isPrime(int n) {
        if (n == 2 || n == 3 || n == 5 || n == 7 || n == 11 || n == 13) {
            return true;
        }

        if (n > 13) {
            for (int j = 2; j < n; j++) {
                if (n % j == 0) {
                    return false;
                }
            }

            return true;
        }

        return false;
    }


}

全部评论

相关推荐

一表renzha:手写数字识别就是一个作业而已
点赞 评论 收藏
分享
自由水:笑死了,敢这么面试不敢让别人说
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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