①两个数的最大公约数是1,则它们互质。
②两个不同的质数互质。
③相邻的两个自然数是互质数。④相邻的两个奇数是互质数。
⑤每个合数都可以写成几个质数相乘的形式,这些质数就是这个合数的质因数。
⑥分解质因数:把一个合数用几个质因数相乘的形式表示出来。
⑦欧拉函数性质:1~n中与n互质的数个数为num ,
那么[k*n + 1, (k+1)*n]中与n互质的数的个数也一定为num 。
int gcd(int a, int b)//最大公约数或用内置函数:__gcd(a,b);
{
return b==0?a:gcd(b,a%b);
}
a,b的最小公倍数=a*b/gcd(a,b);
ll ppow(ll x,ll n)//快速幂x^n
{
ll res=1;
while(n>1)
{
if(n&1) res*=x;
x*=x;
n>>=1;
}
return res;
}
void Solve(ll n)//对n分解质因数
{
p.clear();
for(ll i=2; i*i<=n; i++)
{
if(n%i==0)
{
p.push_back(i);
while(n%i==0) n/=i;
}
}
if(n!=1)
p.push_back(n); //除剩后不为1则为素数
}