POJ - 1284 Primitive Roots(原根+欧拉函数)
生活随笔
收集整理的這篇文章主要介紹了
POJ - 1284 Primitive Roots(原根+欧拉函数)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目鏈接:點擊查看
題目大意:給出一個模數 p ,求 p 有多少個原根
題目分析:算是補充了一個知識點吧,模數 p 的原根個數為 p[ p[ n ] ] ,p 為歐拉函數
證明博客:https://blog.csdn.net/wust_cyl/article/details/77498757
代碼:
#include<iostream> #include<cstdio> #include<string> #include<ctime> #include<cmath> #include<cstring> #include<algorithm> #include<stack> #include<climits> #include<queue> #include<map> #include<set> #include<sstream> using namespace std;typedef long long LL;typedef unsigned long long ull;const int inf=0x3f3f3f3f;const int N=1e5+100;int p[N];void phi() {p[1]=1;for(int i=2;i<N;i++){if(!p[i])for(int j=i;j<=N;j+=i){if(!p[j])p[j]=j;p[j]=p[j]/i*(i-1);}} }int main() { #ifndef ONLINE_JUDGE // freopen("input.txt","r",stdin); // freopen("output.txt","w",stdout); #endif // ios::sync_with_stdio(false);phi();int n;while(scanf("%d",&n)!=EOF)printf("%d\n",p[p[n]]);return 0; }?
超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生總結
以上是生活随笔為你收集整理的POJ - 1284 Primitive Roots(原根+欧拉函数)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CodeForces - 1350E O
- 下一篇: HDU - 1907 John(尼姆博弈