Dirichlet's Theorem on Arithmetic Progressions (poj 3009 水题)
来源:互联网 发布:邮件营销软件 编辑:程序博客网 时间:2024/05/16 15:09
Description
If a and d are relatively prime positive integers, the arithmetic sequence beginning with a and increasing by d, i.e., a, a + d, a + 2d, a + 3d, a + 4d, ..., contains infinitely many prime numbers. This fact is known as Dirichlet's Theorem on Arithmetic Progressions, which had been conjectured by Johann Carl Friedrich Gauss (1777 - 1855) and was proved by Johann Peter Gustav Lejeune Dirichlet (1805 - 1859) in 1837.
For example, the arithmetic sequence beginning with 2 and increasing by 3, i.e.,
2, 5, 8, 11, 14, 17, 20, 23, 26, 29, 32, 35, 38, 41, 44, 47, 50, 53, 56, 59, 62, 65, 68, 71, 74, 77, 80, 83, 86, 89, 92, 95, 98, ... ,
contains infinitely many prime numbers
2, 5, 11, 17, 23, 29, 41, 47, 53, 59, 71, 83, 89, ... .
Your mission, should you decide to accept it, is to write a program to find the nth prime number in this arithmetic sequence for given positive integers a, d, and n.
Input
The input is a sequence of datasets. A dataset is a line containing three positive integers a, d, and n separated by a space. a and d are relatively prime. You may assume a <= 9307, d <= 346, and n <= 210.
The end of the input is indicated by a line containing three zeros separated by a space. It is not a dataset.
Output
The output should be composed of as many lines as the number of the input datasets. Each line should contain a single integer and should never contain extra characters.
The output integer corresponding to a dataset a, d, n should be the nth prime number among those contained in the arithmetic sequence beginning with a and increasing by d.
FYI, it is known that the result is always less than 106 (one million) under this input condition.
Sample Input
367 186 151179 10 203271 37 39103 230 127 104 185253 50 851 1 19075 337 210307 24 79331 221 177259 170 40269 58 1020 0 0
Sample Output
928096709120371039352314503289942951074127172269925673
Source
题意:设一个等差数列,首元素为a,公差为d,现在要求输入a,b,n ,要求找出属于该等差数列中的第n个素数并输出
代码:
#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <cmath>#include <string>#include <map>#include <stack>#include <vector>#include <set>#include <queue>#pragma comment (linker,"/STACK:102400000,102400000")#define maxn 1000005#define MAXN 2005#define mod 1000000009#define INF 0x3f3f3f3f#define pi acos(-1.0)#define eps 1e-6typedef long long ll;using namespace std;bool Isprime[maxn];void prime(){ for (int i=2;i<maxn;i++) { if (i%2) Isprime[i]=true; else Isprime[i]=false; } Isprime[2]=true; int m=sqrt(1000005.0); for (int i=2;i<m;i++) { if (Isprime[i]) { for (int j=i+i;j<maxn;j+=i) Isprime[j]=false; } }}int main(){ prime(); int a,d,n; while (scanf("%d%d%d",&a,&d,&n)&&a&&d&&n) { int x=0; while (x<n) { if (Isprime[a]) x++; a+=d; } printf("%d\n",a-d); } return 0;}
- Dirichlet's Theorem on Arithmetic Progressions (poj 3009 水题)
- POJ 3006 Dirichlet's Theorem on Arithmetic Progressions(水~)
- POJ 3006 Dirichlet's Theorem on Arithmetic Progressions(素数表)
- poj 3006 Dirichlet's Theorem on Arithmetic Progressions
- POJ 3006 Dirichlet's Theorem on Arithmetic Progressions
- POJ 3006 Dirichlet's Theorem on Arithmetic Progressions 素数
- POJ 3006 Dirichlet's Theorem on Arithmetic Progressions
- poj 3006 Dirichlet's Theorem on Arithmetic Progressions
- POJ 3006 Dirichlet's Theorem on Arithmetic Progressions
- POJ -----3006 Dirichlet's Theorem on Arithmetic Progressions
- POJ 3006 Dirichlet's Theorem on Arithmetic Progressions
- poj 3006 Dirichlet's Theorem on Arithmetic Progressions 【素数筛】
- POJ 3006 Dirichlet's Theorem on Arithmetic Progressions
- POJ 3006 - Dirichlet's Theorem on Arithmetic Progressions
- POJ 3006 Dirichlet's Theorem on Arithmetic Progressions
- 【暴力】POJ-3006 Dirichlet's Theorem on Arithmetic Progressions
- Poj 3006 Dirichlet's Theorem on Arithmetic Progressions
- POJ 3006 Dirichlet's Theorem on Arithmetic Progressions
- ORCL_PROC
- data转移到非Web目录
- 再谈用java实现Smtp发送邮件之Socket编程
- make menuconfig提示'make menuconfig' requires the ncurses libraries.
- 如果有一本书是你入行几年,偶然读到,发现他写的都是你的血泪史,那么请推荐给我吧
- Dirichlet's Theorem on Arithmetic Progressions (poj 3009 水题)
- 告诉大家。Android 打造任意层级树形控件 考验你的数据结构和设计
- 函数调用方式
- Codeforces Round #274 (Div. 2) D. Long Jumps(二分)
- 告诉大家。cocos2d 简单消除游戏算法 (一)
- 记录锁,多进程,临界区
- 在模板定义内部指定类型
- Robotium源码导入时提示“The import android.support cannot be resolved”
- JAVA 英文数字互译