poj-1284(Primitive Roots)(欧拉函数运用)
生活随笔
收集整理的這篇文章主要介紹了
poj-1284(Primitive Roots)(欧拉函数运用)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
題目鏈接:http://poj.org/problem?id=1284
題意:求解p的原根的個數(shù),此題p是素數(shù),φ(p) = p - 1;
題解:定理:設(shè) p > 1是整數(shù),如果模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));} }
與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖
總結(jié)
以上是生活随笔為你收集整理的poj-1284(Primitive Roots)(欧拉函数运用)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: hdu-1576(A/B)
- 下一篇: 彭荣新:喜马拉雅自研网关架构演进过程