素数打表,水题。
#include#include 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;}