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;
}
浙公网安备 33010602011771号