您的位置:首页 > 其它

Dirichlet's Theorem on Arithmetic Progressions

2018-01-20 11:56 357 查看
a ,d ,n给定质数a,d

求数列a,a+d,a+2d,.....的第N个素数(不超过1000000)

筛法,然后遍历一边即可,不知道单纯模拟会不会超

#include<stdio.h>
#include<string.h>
int p[1000001];
int main()
{
int i,c,a,d,n,j;
memset(p,0,sizeof(p));p[0]=1;p[1]=1;
for (i=2;i<=1000001;i++)
{
if (p[i]==0)
for (j=2*i;j<1000001;j+=i)
p[j]=1;
}
while (1)
{
scanf("%d%d%d",&a,&d,&n);
if (a+d+n==0) break;
for (i=a,c=0;c<n;i+=d)
if (!p[i]) {c++;if (c==n) printf("%d\n",i);}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: