当前位置: 代码迷 >> 综合 >> poj 1284 Primitive Roots 求素数元根数
  详细解决方案

poj 1284 Primitive Roots 求素数元根数

热度:90   发布时间:2024-01-19 05:46:23.0

题意:

给奇素数p,求p有多少原根。

分析:

phi(p-1),数论有具体证明。

代码:

//poj 1284
#include <iostream>
using namespace std;int main()
{int n;while(scanf("%d",&n)==1){--n;int ans=n;for(int i=2;i*i<=n;++i)if(n%i==0){ans-=ans/i;while(n%i==0)n/=i;}if(n!=1)ans-=ans/n;printf("%d\n",ans);}return 0;	
}


  相关解决方案