poj-1284(Primitive Roots)(欧拉函数运用)
2014-04-19 10:32
411 查看
题目链接:http://poj.org/problem?id=1284
题意:求解p的原根的个数,此题p是素数,φ(p) = p - 1;
题解:定理:设 p > 1是整数,如果模p存在一个原根g,则模p有φ(φ(p))个不同的原根
题意:求解p的原根的个数,此题p是素数,φ(p) = p - 1;
题解:定理:设 p > 1是整数,如果模p存在一个原根g,则模p有φ(φ(p))个不同的原根
#include<stdio.h> #include<string.h> #include<algorithm> #include<math.h> #include<iostream> using namespace std; int euler(int x) { int res = x; for(int i = 2;i <= sqrt(x);i++) { if(x%i==0) { while(x%i==0) x/=i; res = res/i*(i-1); } } if(x > 1) res = res / x * ( x - 1); return res; } int main() { int n; while(~scanf("%d",&n)) { printf("%d\n",euler(n-1)); } }
相关文章推荐
- POJ 1284 Primitive Roots 欧拉函数模板题
- poj 1284 欧拉函数的运用
- 【poj1284-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 (原根,欧拉函数)
- (Relax 数论1.8)POJ 1284 Primitive Roots(欧拉函数的应用: 以n为模的本原根的个数phi(n-1))
- (Relax 数论1.8)POJ 1284 Primitive Roots(欧拉函数的应用: 以n为模的本原根的个数phi(n-1))
- poj 1284 Primitive Roots(欧拉函数,原根定理)
- POJ 1284 Primitive Roots (欧拉函数&原根定理)
- POJ-1284 Primitive Roots 欧拉函数
- poj1284 Primitive Roots(原根,欧拉函数)
- POJ 1284 Primitive Roots(欧拉函数)
- POJ1284_Primitive Roots【欧拉函数】
- POJ 1284 - Primitive Roots (原根 + 欧拉函数)
- poj 1284 Primitive Roots(原根+欧拉函数)
- POJ 1284 Primitive Roots (欧拉函数--求原根数量)