很简单的一道题,但是注意赛选素数的方法,这个32ms,不知那些0ms是怎样写的……
#include<iostream>
#include<cstdio>
using namespace std;
bool not_prime[1000001]={1,1};
int main()
{
int n, a, d, i, j;
for(i=3; i<=1000; i+=2)
{
for(j=3; j<=1000000/i; j+=2)
{
not_prime[i*j]=1;
}
}
for(i=4; i<=1000000; i+=2)
not_prime[i]=1;
while( scanf("%d %d %d", &a, &d, &n) && n )
{
while( 1 )
{
if( !not_prime[a] )
n--;
if( n<1) break;
a+=d;
}
printf("%d\n", a);
}
}