Archive

Posts Tagged ‘欧拉函数’

欧拉函数

April 26th, 2009 1 comment

返回与数n互质的数的个数

int eular(int n) {
       int ret = 1, i;
       for (i = 2; i * i <= n; i++)
           if (!(n % i)) {
                  n /= i;
                  ret *= i - 1;
                  while (!(n % i)) n /= i,  ret *= i;
            }
        if(n > 1) ret *= n - 1;
       return ret;
}
Categories: Algorithm Tags: ,