Dirichlet's Theorem on Arithmetic Progressions

来源:互联网 发布:linux定时器重启 编辑:程序博客网 时间:2024/05/17 07:14

题目源地址:http://poj.org/problem?id=3006


解题思路:主要考虑判断质数的开销,用数组表示,这种找出质数的方法很多地方都可以用到

#include<iostream>#include<string.h>using namespace std;const int a=1000005;int num[a];int main(){memset(num,1,sizeof(num));num[0]=0;num[1]=0;for(int i=2;i<a/2;i++){if(num[i]){for(int j=i+i;j<a;j=j+i)num[j]=0;}}/*for(int i=0;i<100;i++){if(num[i])cout<<i<<endl;}*/int a,b,n,s,i;while(cin>>a>>b>>n&&a&&b&&n){for( i=a;;i=i+b){if(num[i])n--;if(n==0)break;}cout<<i<<endl;}//system("pause");return 0;}


0 0