素数打表法
很多时间超限的问题都与素数有关
#include <stdio.h>
#define maxn 1000000//根据题意大概估算范围;
int prime[maxn];
void get_prime()
{
for(int i=2;i<maxn;i++)
{
if(!prime[i])
{
for(int j=2;j*i<=maxn;j++)
{
prime[i*j]=1;
}
}
}
}
int main()
{
get_prime();
for(int i=1;i<maxn;i++)
{
if(!prime[i])
{
printf("%d ",i);
}
}
}