poj3006
2015-09-11 12:02
183 查看
摘要:这题本身简单,但是暴力破解很可能超过时间界.最好的选择是采取素数筛法,以空间换时间,这样所有的素数都可以用O(1)的时间测出来.
#include "stdafx.h" #include "iostream" using namespace std; bool Isprime[1000005]; void Find(int a,int d,int n) { int x = a - d,count = 0; while(count<=n-1) { x += d; if(Isprime[x] == true) { count++; } } cout<<x<<endl; } int main() { int a,d,n,k=0; int Prime[100000]; memset(Isprime,true,sizeof(Isprime)); Isprime[1] =false; Prime[k++] = 2; for(int i = 1;i<=1000000;i ++ ) { while(Isprime[i] == false)//找到第一个未删除的素数 { i++; } Prime[k++] = i; for(int j = i*2;j<=1000000;j += i ) Isprime[j] = false; } while(1) { int t =0,count = 0; cin>>a; cin>>d; cin>>n; if((a||d||n) ==0) break; Find(a,d,n); } return 0; }
相关文章推荐
- nginx之基础命令(压缩、自动列目录、浏览器本地缓存)
- 解决:Collections.sort java.lang.IllegalArgumentException: Comparison method violates its general conta
- 服务器设计框架简介
- 从零开始自学Swift(四)
- 二叉树遍历判定
- Apache Came组件http4的使用
- Protocol - 8
- JS计算滚动条的宽度
- C#值类型和引用类型浅析
- easy ui 下拉框绑定数据select控件
- 详解CSS选择器、优先级与匹配原理
- SQL server数据库连接问题汇总
- asp控制xml数据库的经典代码
- 登录的大屏背景
- CocoaPods安装和使用教程
- FastDFS常见命令
- 在ashx一般处理程序中使用session
- 记录一个try catch没有生效的原因,以便备忘
- #openstack-meeting: swift(2015-09-09)
- 使用Jenkins搭建持续集成(CI)环境