poj 3006 Dirichlet's Theorem on Arithmetic Progressions 【素数筛】

简介:

说实话,题目很长,但是和真正要思考的东西关系不大。。。

就用了之前的素数筛的模板,控制了一下输入、输出格式就过了,很水的题,没什么技术含量,我好像也只会用暴搜。。。


#include <stdio.h>

#define MAXN 1000002

int prime[MAXN];		//用筛法求素数,1代表不是素数(被筛掉)

int main()
{
	//先打出素数表
	prime[0]=prime[1]=1;    //开始去掉prime[0]和prime[1]
	int i,j;
	for(i=2;i<MAXN;i++)
	{
		if(prime[i]==0)		//如果prime[i]是素数就把他的倍数都筛掉
		{
			for(j=2*i;j<MAXN;j+=i)
				prime[j]=1;
		}
	}

	int a,d,n;
	int count;
	while(scanf("%d%d%d",&a,&d,&n))
	{
		if(a==0 && d==0 && n==0)
			break;

		count=0;
		for(i=a; ;i+=d)
		{
			if(prime[i]==0)
				count++;

			if(count==n)
				break;
		}

		printf("%d\n",i);
	}

	return 0;
}


相关文章
|
7月前
PTA-矩阵转置
该代码实现将输入的3x3矩阵转置并按指定格式输出。输入为9个小于100的整数,用空格分隔,输出转置后的矩阵。示例输入:1 2 3 4 5 6 7 8 9,输出:1 4 7\n2 5 8\n3 6 9。代码使用`map(int,input().split())`读取输入,然后通过for循环按格式打印转置后的矩阵。
63 0
UVa10484 - Divisibility of Factors(数论)
UVa10484 - Divisibility of Factors(数论)
64 1
CodeForces 1195C Basketball Exercise (线性DP)
CodeForces 1195C Basketball Exercise (线性DP)
122 0
欧拉计划Problem 5 最小公倍数
欧拉计划Problem 5 最小公倍数
[Codeforces] 1557 C Moamen and XOR(组合数学)
题意: 用 < 2k的数填充到长度为n的数组中,要使得数组中所有数& >= ^,问方案数 显然,当k == 1的时候,答案为1,只有当所有的数全为1的情况才可以满足题意 对于其他的情况{ 用小于2k的数进行填充,那么说明填充的数字的二进制位数最多可以有k kk位, 从数的个数的角度来说,奇数个1^ 之后的结果是1,偶数个1^ 之后的结果是0,而对于0来讲,不管多少个0,^起来结果都是0 只要有一个0,那么说这一位上&之后就是0,而为了让^为0,那么只能够选择偶数个1 如果某一位上&为1,那么^为1的情况需要讨论n的奇偶性
122 0
|
Java
HDOJ/HDU 5686 Problem B(斐波拉契+大数~)
HDOJ/HDU 5686 Problem B(斐波拉契+大数~)
102 0
|
人工智能 算法 BI
三对角线性方程组(tridiagonal systems of equations)的求解
三对角线性方程组(tridiagonal systems of equations)   三对角线性方程组,对于熟悉数值分析的同学来说,并不陌生,它经常出现在微分方程的数值求解和三次样条函数的插值问题中。
1732 0
|
人工智能 BI 机器学习/深度学习