质因数的个数

输入20,输出3

要点就是利用平方根减少计算次数

每次将以获得的质因数当作除数,i--是为了保证相同质因数不被遗漏。
public class Main{
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int res = 1;
        while (sc.hasNext()) {
            int num = sc.nextInt();
            for (int i = 2; i <= Math.sqrt(num); i++) {
                if (num % i == 0) {
                    res++;
                    num /= i;
                    i--;
                }
            }
            System.out.println(res);
            break;
        }
        sc.close();
    }
}


全部评论

相关推荐

评论
点赞
收藏
分享
牛客网
牛客企业服务