acm poj 3006

acm poj 3006
#include<iostream>
#include<fstream>
using namespace std;

int main( )
{
	ifstream cin("input.txt");

	const int NUM=1000000;
	char *prime=new char[NUM];
	prime[0]='0';
	prime[1]='0';
	for(int i=2;i<NUM;i++)
	{
		prime[i]='1';
	}
	for(int i=2;i<1000;i++)
	{
		for(int j=2;i*j<NUM;j++)
		{
			prime[i*j]='0';
		}
	}
	int a,d,n;
	while(cin>>a>>d>>n)
	{
		if(a==0&&d==0&&n==0)
			break;

		int num=a;
		for(int i=0;;num+=d )
		{
			if(prime[num]=='1')
				i++;
			if(i==n)
				break;
			
		}
		cout<<num<<endl;
	}
	return 0;
}

你可能感兴趣的:(acm poj 3006)