用来求关于与n不互质的
模板
先把n拆开
vector<int>v
v.clear();
for(int i=2;i*i<=n;i++)
{
if(n%i==0)
{
v.pb(i);
while(n%i==0)
{
n/=i;
}
}
}
if(n>1) v.push_back(n);
容斥模板
int sum;
for(int i=1;i<(1<<v.size()) ;i++)
{
ll bits=0,ans=1;
for(int j=0;j<v.size() ;j++)
{
if((1<<j)&i)
{
bits++;
ans*=v[j];
}
}
if(bits&1)
sum+=solve(ans);//solve是按题目要求写的
else
{
sum-=solve(ans);
}
}