poj 3006水题打素数表

#include<stdio.h>
#include<string.h>
#define N 1100000
int isprim[N],prime[N];
void isprime() {
    int i,j;
memset(isprim,-1,sizeof(isprim));
  isprim[1]=0;
   for(i=2;i<=1000;i++)
   if(isprim[i]==-1) {
    for(j=i*2;j<=1000000;j+=i)
        isprim[j]=0;
   }
}
int main() {
   isprime();
   int a,d,n,i,k;
   while(scanf("%d%d%d",&a,&d,&n),a||d||n) {
        k=0;
       for(i=a;;i+=d) {
        if(isprim[i])k++;
         if(k==n)break;
       }
       printf("%d\n",i);
   }
return 0;
}

posted @ 2014-07-19 10:47  HYDhyd  阅读(125)  评论(0编辑  收藏  举报