求一个素数不同的原根 就等于φ(φ(n))
#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
int main(){
int n;
while(cin>>n)
{
int a=n-1;
int ans=a;
for(int i=2;i*i<=a;i++)
{
if(a%i==0)
{
ans=ans*(i-1)/i;
while(a%i==0)
{
a=a/i;
}
}
}
if(a>1)
ans=ans*(a-1)/a;
cout<<ans<<endl;
}
return 0;
}
// 原根 一个积素数不同原根的个数等于 PHI(phi(n))