假设我们枚举的是n个数,那么每一个数的倍数有n/i个,一共枚举的数量就是=n* ,调和级数嘛,也就是n*logn咯,似乎可以证明是均摊logn,而质数的个数约为O(n/lgn),因此
枚举所有质数的倍数的复杂度约为,o(logn*n/logn)=o(n)
如果是枚举所有的数,那就是nlogn
void pre()
{
for (int i=0;i<tot;i++)
{
for (ll j=prime[i];j<=N;j+=prime[i])
{
}
}
}