1つの数にどれだけの因子があるか(c++)を迅速に算出する方法

2856 ワード

1つの数が何個(何種類)の因子(c++)であるかを迅速に算出する方法
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;
}