Quickly calculate how many (how many) factors a number has

int count(int n) {
    int sum = 1;
    for (int i = 2; i * i <= n; i++) {
        if (n % i == 0) {
            int tmp = 0;
            while (n % i == 0) {
                n /= i;
                tmp++;
            }
            sum = sum * (tmp + 1);
        }
    }
    if (n > 1) sum = sum * 2;
    return sum;
}

 

Guess you like

Origin blog.csdn.net/weixin_43871207/article/details/109339590