*有误欢迎大佬斧正*
基本定理:
威尔逊定理:一个数p为素数的充要条件是p|(p-1)!+1
费马小定理:对于素数p,以及整数a,如有(a,p)=1,则a^(p-1)=1(mod p)
欧拉定理:对于任意两个互素整数a,m ,a^φ(m) =1 (mod m), φ为欧拉函数,表示小于p且与p互素的数个数
欧拉函数求解:
1 int euler(int x) 2 { 3 int res = x, n = x; 4 for (int i = 2; i * i <= n; i++) 5 if (n % i == 0) 6 { 7 res = res / i * (i - 1); 8 while (n % i == 0) 9 n /= i; 10 } 11 if (n > 1) 12 res = res / n * (n - 1); 13 return res; 14 }