预处理每个数的所有质因数
#include<cstdio>
#include<vector>
using namespace std;
const int N=100000+5;
vector<int>prime_factor[N];
void init()
{
for(int i=2;i<N;i++)
{
if(prime_factor[i].size()==0)//如果i是质数
{
for(int j=i;j<N;j+=i)
{
prime_factor[j].push_back(i);
}
}
}
}
int main()
{
init();
}
预处理每个数的所有因数
#include<cstdio>
#include<vector>
using namespace std;
const int N=100000+5;
vector<int>factor[N];
void init()
{
for(int i=2;i<N;i++)
{
for(int j=i;j<N;j+=i)
{
factor[j].push_back(i);
}
}
}
int main()
{
init();
}
预处理每个数的质因数分解
#include<cstdio>
#include<vector>
using namespace std;
const int N=100000+5;
vector<int>prime_factor[N];
void init()
{
int temp;
for(int i=2;i<N;i++)
{
if(prime_factor[i].size()==0)
{
for(int j=i;j<N;j+=i)
{
temp=j;
while(temp%i==0)
{
prime_factor[j].push_back(i);
temp/=i;
}
}
}
}
}
int main()
{
init();
}