Poj 1284 Primitive Roots
2014-05-02 20:38
381 查看
题目链接:点击打开链接
题目的意思就是给一个odd prime,要你求其原根个数。
根据原根个数定理:
如果有一个数p有原根的话,那么p的原根个数为Euler(Euler(p));
对于该题目:由于给定是一个奇素数,所以Euler(p)=p-1;
所以answer=Euler(p-1)。
代码:
不能够系统的学习,那就慢慢的积累吧。!!
题目的意思就是给一个odd prime,要你求其原根个数。
根据原根个数定理:
如果有一个数p有原根的话,那么p的原根个数为Euler(Euler(p));
对于该题目:由于给定是一个奇素数,所以Euler(p)=p-1;
所以answer=Euler(p-1)。
代码:
#include <cstdio> #include <cstring> #include <algorithm> #include <cmath> using namespace std; #define LL long long LL Euler1(LL n){ LL ans=n; for(LL i=2;i<=sqrt(n);i++){ if(n%i==0){ while(n%i==0) n=n/i; ans=ans/i*(i-1); } } if(n>1) ans=ans/n*(n-1); return ans; } int main(){ LL n; while(~scanf("%lld",&n)){ printf("%lld\n",Euler1(n)); } return 0; }
不能够系统的学习,那就慢慢的积累吧。!!
相关文章推荐
- 【POJ1284】Primitive Roots——欧拉数
- 【POJ 1284】Primitive Roots
- POJ 1284 Primitive Roots 已翻译
- poj 1284 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 数论原根。
- 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))
- poj1284 Primitive Roots
- 【POJ1284】Primitive Roots 原根和指数