POJ 3006 Dirichlet's Theorem on Arithmetic Progressions 素数 难度:0
2015-07-22 22:41
387 查看
http://poj.org/problem?id=3006
#include <cstdio> using namespace std; bool pm[1000002]; bool usd[1000002]; bool judge(int x) { if(usd[x])return pm[x]; usd[x] = true; if(x == 2) return pm[x] = true; if(((x & 1) == 0) || (x < 2))return pm[x] = false; for(int i = 3;i * i <= x;i+= 2) { if(x % i == 0)return pm[x] = false; } return pm[x] = true; } int main(){ int a,d,n; while(scanf("%d%d%d",&a,&d,&n) == 3 && a) { int cnt = 0; for(int tn = 0;tn < n;cnt++) { if(judge(cnt * d + a))tn++; if(tn == n)break; } printf("%d\n",cnt * d + a); } return 0; }
相关文章推荐
- Ubuntu 14.04开启root账号,禁用Guest账号
- 简单有效的图像去雾技术CVPR 2009 BEST
- oc007---内存管理
- Install-DedupCore.component 的内容
- 远程连接数据库
- hal
- 无极限树结构
- opendaylight中ping的数据流分析
- Linux kernel 分析之十二:kbuild系统-内核模块的编译
- vim 内置函数调用,大小写转换
- shell编程——if语句 if -z -n -f -eq -ne -lt
- 前端自动化工具 -- FIS 使用简介
- 数据库几种Top子句的使用方法
- EHcache注解使用(ehcache-spring-annotations)
- Android 的进程与线程总结
- [转]C和OC如何混用
- Unique Binary Search Trees
- day2
- oc006---oc类的本质
- UI5的语言问题