算术基本定理

(1)一个大于1的正整数N,如果它的标准分解式为:

  

,那么它的正因数个数为

 

    对于这个式子 如果我们想要奇因子的个数 那么在primes[i] % 2 != 0时再算。。==0时continue就好了  偶因子同理 

 

  

代码实现:

      

        for(i = 0; i < cnt && prime[i] * prime[i] <= n; i++)
        {
            cnt2 = 0;
            while(n % prime[i] == 0)
            {
                n /= prime[i];
                cnt2++;
            }

            if(cnt2) d[cnt1] = prime[i], mi[cnt1++] = cnt2;
        }
        if(n != 1)
            d[cnt1] = n, mi[cnt1++] = 1;

 

2) 它的全体正因数之和为

 

  

 

posted @ 2018-06-13 16:46  WTSRUVF  阅读(341)  评论(0编辑  收藏  举报