核心思想:欧拉函数:
证明 :容斥原理
#include<iostream>
#include<algorithm>
using namespace std;
const int N = 110;
int main()
{
int n;
cin>>n;
while(n--)
{
int a;
cin>>a;
int res = a;
for(int i =2;i <= a/i; i++)
{
if(a % i == 0) //找到因数i
{
res = res /i * (i-1) ; //乘一次
while(a % i == 0) a/=i; //求另外一个因数 因为公式不管a次方 只要知道因数是多少就行
}
}
if(a >1) res = res / a *(a - 1); //另一个因数a存在 也乘
cout<<res<<endl;
}
}