This snippet puts all primes uptil s in pr and if you want to know the prime factors , it's in pfactors[i]
#define s 100009
vector<int> pfactor[s + 1];
vector<bool> prime(s + 1, true);
vector<int> pr;
void seive()
{
prime[0] = prime[1] = false;
for(int i = 2; i <= s; i++)
{
if(prime[i])
{
pfactor[i].pb(i);
pr.pb(i);
for(int j = 2 * i; j <= s; j += i)
{
int jj = j;
while(jj % i == 0)
{
pfactor[j].pb(i);
jj /= i;
}
prime[j] = false;
}
}
}
}
#define s 100009
vector<int> pfactor[s + 1];
vector<bool> prime(s + 1, true);
vector<int> pr;
void seive()
{
prime[0] = prime[1] = false;
for(int i = 2; i <= s; i++)
{
if(prime[i])
{
pfactor[i].pb(i);
pr.pb(i);
for(int j = 2 * i; j <= s; j += i)
{
int jj = j;
while(jj % i == 0)
{
pfactor[j].pb(i);
jj /= i;
}
prime[j] = false;
}
}
}
}
No comments:
Post a Comment