pku1284(求原根,欧拉函数)
2010-07-16 22:25
302 查看
http://162.105.81.212/JudgeOnline/problem?id=1284
题意:p是奇素数,如果{xi%p | 1 <= i <= p - 1} = {1,2,...,p-1},则称x是p的原根.
给出一个p,问它的原根有多少个.
思路来源:http://kb.cnblogs.com/a/1307233/
{xi%p | 1 <= i <= p - 1} = {1,2,...,p-1} 等价于 {xi%(p-1) | 1 <= i <= p - 1} = {0,1,2,...,p-2},即为(p-1)的完全剩余系
若x,x2...x(p-1)是(p-1)的完全剩余系,
根据定理,可以推出若gcd(x, p-1) = 1时, (1,x,...,x(p-2))也是(p-1)的完全剩余系
因为若xi != xj (mod p-1),那么x*xi != x*xj (mod p-1),与条件m矛盾,所以 xi = xj (mod p-1),
由此可以确定答案为EulerPhi(p-1)
题意:p是奇素数,如果{xi%p | 1 <= i <= p - 1} = {1,2,...,p-1},则称x是p的原根.
给出一个p,问它的原根有多少个.
思路来源:http://kb.cnblogs.com/a/1307233/
{xi%p | 1 <= i <= p - 1} = {1,2,...,p-1} 等价于 {xi%(p-1) | 1 <= i <= p - 1} = {0,1,2,...,p-2},即为(p-1)的完全剩余系
若x,x2...x(p-1)是(p-1)的完全剩余系,
根据定理,可以推出若gcd(x, p-1) = 1时, (1,x,...,x(p-2))也是(p-1)的完全剩余系
因为若xi != xj (mod p-1),那么x*xi != x*xj (mod p-1),与条件m矛盾,所以 xi = xj (mod p-1),
由此可以确定答案为EulerPhi(p-1)
#include<iostream> #include<cmath> using namespace std; int p; int euler(int x) { int i, res = x; for(i=2; i<(int)sqrt(x*1.0) + 1; i++) { if(x % i == 0) { res = res / i * (i - 1); while(x % i == 0) //保证i一定是素数 x /= i; } } if(x > 1) res = res / x * (x - 1); return res; } int main() { while(scanf("%d",&p) != EOF) { printf("%d/n",euler(p-1)); //p-1的欧拉函数就是p的原根的个数; } return 0; }
相关文章推荐
- POJ 1284 Primitive Roots 解题报告(欧拉函数)
- pku1284_Primitive Roots
- POJ 1284 Primitive Roots (原根,欧拉函数)
- POJ1284:Primitive Roots(欧拉函数的应用,奇素数的原根)
- POJ 1284 - Primitive Roots (原根 + 欧拉函数)
- POJ 1284 Primitive Roots【欧拉函数】
- POJ 1284 : Primitive Roots - 欧拉函数,原根
- POJ 1284 Primitive Roots(欧拉函数)
- poj 1284 求原根的个数(欧拉函数的应用)
- pku1284 Primitive Roots
- (Relax 数论1.8)POJ 1284 Primitive Roots(欧拉函数的应用: 以n为模的本原根的个数phi(n-1))
- poj - 1284 - Primitive Roots - (欧拉函数求原根)
- poj1284 Primitive Roots(原根,欧拉函数)
- poj 1284 Primitive Roots(原根+欧拉函数)
- (Relax 数论1.8)POJ 1284 Primitive Roots(欧拉函数的应用: 以n为模的本原根的个数phi(n-1))
- pku3090 pku2478(欧拉函数的应用,法雷级数)
- pku2480(欧拉函数的应用,推公式,积性函数)
- POJ1284 Primitive Roots (欧拉函数 & 原根)
- POJ 1284 Primitive Roots(欧拉函数)
- poj-1284(Primitive Roots)(欧拉函数运用)