质因数的个数

题目链接
题目描述
求正整数N(N>1)的质因数的个数。 相同的质因数需要重复计算。如120=22235,共有5个质因数。

输入描述
可能有多组测试数据,每组测试数据的输入是一个正整数N,(1

输出描述
对于每组数据,输出N的质因数的个数。

示例1

输入
120
输出
5

代码实现

#include 
#include 

int main(void) {
    long num = 0;
    long cnt = 0;
    while (scanf("%ld", &num) != EOF) {
        cnt = 0;
        for (long i = 2; i <= sqrt(num); i++) {
            while (num % i == 0) {
                num = num / i;
                cnt++;
            }
        }
        if (num > 1) {
            cnt++;
        }
        printf("%ld\n" ,cnt);
    }
    return 0;
}

你可能感兴趣的:(质因数的个数)