同模取余
基本性质
费马小定理
证明
除法逆元
威尔逊定理
证明
若
若
对于所有的整数
得:
当
即
即:
欧拉函数
若
性质
小于n与n互素的正整数的和:
直接求欧拉值\打标
int get_Euler(int n) //直接求值 euler(n) = n * (1 - 1/p1) * (1 - 1/p2)*...*;
{
int tmp = n, ans = n;
for (int i = 2; i * i <= tmp; i++)
{
if (tmp % i == 0)
{
ans = ans / i * (i - 1);
while (tmp % i == 0)
{
tmp /= i;
}
}
}
if (tmp > 1)
{
ans = ans / tmp * (tmp - 1);
}
return ans;
}
int euler[N];
void init_Euler() //打表
{
euler[1] = 1;
for (int i = 2; i < N; i++)
{
euler[i] = i;
}
for (int i = 2; i < N; i++)
{
if (euler[i] == i)
{
for (int j = i; j < N; j += i)
{
euler[j] = euler[j] / i * (i - 1);
}
}
}
}