POJ 1284 欧拉函数 原根

当p为素数时,原根=\Phi(p-1)原根=\phi (p-1)

代码:

#include <set>
#include <cmath>
#include <queue>
#include <stack>
#include <vector>
#include <string>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <iostream>
#include <algorithm>
#include <functional>
#define PI acos(-1)
typedef long long ll;
using namespace std;
const int INF = 0x3f3f3f3f;
void solve(ll n)
{
   ll t=n;
   for(ll i=2;i*i<=n;i++)
   {
      if(n%i==0)
      {
         t=t-t/i;
         while(n%i==0)n=n/i;
	  }
   }
   if(n!=1)t=t-t/n;
   printf("%lld\n",t);
}
int main()
{
    ll n;
    while(~scanf("%lld",&n))
    {
	   solve(n-1);
    }
} 

猜你喜欢

转载自blog.csdn.net/jun_____/article/details/82117816