素数打表,水题。
#include<stdio.h> #include<string.h> const int Max=1000001; bool isprime[Max]; int main(void) {int i,j,a,d,n;memset(isprime,true,sizeof(isprime));for(i=3;i<=1000;i+=2)for(j=3;j<=Max/i;j+=2)if(isprime[i])isprime[i*j]=false; for(i=4;i<=Max;i+=2)isprime[i]=false; isprime[1]=isprime[0]=false;while(scanf("%d%d%d",&a,&d,&n),a||d||n){int num[250]={0};j=1;for(i=a;j<=n;i+=d)if(isprime[i])num[j++]=i; printf("%d\n",num[n]);}return 0; }