poj3006---素数筛法

时间:2022-11-13 20:26:46
#include <stdio.h>
#include <stdlib.h> int tab[];//以后都用宏定义 MAX
int main()//如要将包括1000000在内的打表,数组就开大一个
{
int a,d,n,i,j;
tab[]=;tab[]=;
for(i=;i<;i++)
tab[i]=;
for(i=;i<=;i++)//个人觉得后面一半没必要遍历,因为二倍一定大于1000000
{
if(tab[i] == )
{
for(j=;j*i<=; j++)
{
tab[i*j]= ;
}
}
} while(scanf("%d %d %d",&a,&d,&n) != EOF && n)
{
int cout=;
for(i=;cout!=n;i++)
{
if(tab[a+i*d] == )
cout++;
}
printf("%d\n",a+(i-)*d);
}
return ;
}