题意:给出一个偶数(不论正负),求出两个素数a,b,能够满足 a-b=x,素数在1e6以内。

只要用筛选法打出素数表,枚举查询下就行了。

我用set储存素数,然后遍历set里面的元素,查询+x后是否还是素数。

注意,偶数有可能是负数,其实负数就是将它正数时的结果颠倒就行了。

代码:

  1. /*
  2. * Author: illuz <iilluzen[at]gmail.com>
  3. * Blog: http://blog.csdn.net/hcbbt
  4. * File: 10.cpp
  5. * Create Date: 2013-09-08 12:55:09
  6. * Descripton: 10
  7. */
  8.  
  9. #include <cstdio>
  10. #include <cmath>
  11. #include <set>
  12. using namespace std;
  13. #define rep(i, n) for (int i = 0; i < (n); i++)
  14.  
  15. set<int> m;
  16. #define MAX_P 1000001
  17. int nList[MAX_P] = {0};
  18. void Calc()
  19. {
  20. int n,p,t,sq=(int)sqrt(MAX_P*2+1);
  21. for (n=3;n<=sq;n+=2)
  22. {
  23. if (nList[n>>1]) continue;
  24. for (t=n*n;t<=MAX_P<<1;t+=n<<1) //筛选循环
  25. nList[t>>1] = 1;
  26. }
  27. m.insert(2);
  28. for (n=t=1;t<MAX_P;++t)
  29. {
  30. if (nList[t]) continue;
  31. m.insert((t<<1)+1);
  32. if (++n==10)
  33. n=0;
  34. }
  35. }
  36. /****** TEMPLATE ENDS ******/
  37.  
  38. const int MAXN = 0;
  39.  
  40. int main() {
  41. Calc();
  42. int t, n;
  43. scanf("%d", &t);
  44. while (t--) {
  45. scanf("%d", &n);
  46. int nn = abs(n);
  47. bool flag = false;
  48. for (set<int>::iterator i = m.begin(); i != m.end(); i++) {
  49. if (m.count(*i + nn) != 0) {
  50. flag = true;
  51. if (n < 0) printf("%d %d\n", *i, *i + nn);
  52. else printf("%d %d\n", *i + nn, *i);
  53. break;
  54. }
  55. }
  56. if (!flag) printf("FAIL\n");
  57. }
  58. return 0;
  59. }

hdu 4715 Difference Between Primes 2013年ICPC热身赛A题 素数水题的更多相关文章

  1. hduoj 4715 Difference Between Primes 2013 ACM/ICPC Asia Regional Online —— Warmup

    http://acm.hdu.edu.cn/showproblem.php?pid=4715 Difference Between Primes Time Limit: 2000/1000 MS (J ...

  2. hdu 4715 Difference Between Primes

    题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=4715 Difference Between Primes Description All you kn ...

  3. HDU 4715 Difference Between Primes (打表)

    Difference Between Primes Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/O ...

  4. hdu 4715 Difference Between Primes (打表 枚举)

    Difference Between Primes Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Jav ...

  5. hdu 4715 Difference Between Primes(素数筛选+树状数组哈希剪枝)

    http://acm.hdu.edu.cn/showproblem.php?pid=4715 [code]: #include <iostream> #include <cstdio ...

  6. hdu 4706 Children's Day 2013年ICPC热身赛A题 模拟

    题意:按字母顺序排列成n型,简单的模拟题. 当字母排到z时从a开始重新排起. 代码: /* * Author: illuz <iilluzen[at]gmail.com> * Blog: ...

  7. hdu 4708 Rotation Lock Puzzle 2013年ICPC热身赛A题 旋转矩阵

    题意:给出一个n*n的矩阵,旋转每一圈数字,求出对角线可能的最大值,以及转到最大时的最小距离. 只要分析每一层就可以了,本来想用地址传递二维数组,发现行不通,改了一下就行了. 这里有个坑,比如: 1 ...

  8. HDU 4772 Zhuge Liang's Password (2013杭州1003题,水题)

    Zhuge Liang's Password Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/O ...

  9. HDU 4758——Walk Through Squares——2013 ACM/ICPC Asia Regional Nanjing Online

    与其说这是一次重温AC自动机+dp,倒不如说这是个坑,而且把队友给深坑了. 这个题目都没A得出来,我只觉得我以前的AC自动机的题目都白刷了——深坑啊. 题目的意思是给你两个串,每个串只含有R或者D,要 ...

随机推荐

  1. UItableViewCell上的button点击无响应的办法

    由于IOS7中添加了滑动后出现编辑按钮的操作,所以使用scrollView来处理,UITableViewCellScrollView有对触摸的相应处理,导致按钮的点击效果被屏蔽了,但是点击事件还是在的 ...

  2. NOI2007 生成树计数

    题目 首先我要吐槽,这题目就是坑,给那么多无用的信息,我还以为要根据提示才能做出来呢! 算法1 暴力,傻傻地跟着提示,纯暴力\(40\)分,高斯消元\(60\)分. 算法2 DP!一个显然的东西是,这 ...

  3. Oculus Rift DK2 安装所需电脑配置

    系统支持:眼下使用的SDK0.4支持windows7,windows8,windows8.1.Mac(10.8,10.9): 硬件配置:官方给的标准配置为2.0+GHz以上CPU.2GB内存.兼容Di ...

  4. MSSQL - 创建新用户

    1.首先使用Windows身份验证登陆. 2.然后一次打开:安全性--->登录名.右键登录名,点击新建登录名. 3.常规选项卡下:填写登录名.选择SQL Server身份验证,填写登录名密码.取 ...

  5. System.gc

    Java中的内存分配是随着new一个新的对象来实现的,这个很简单,而且也还是有一些可以“改进”内存回收的机制的,其中最显眼的就是这个System.gc()函数. 乍一看这个函数似乎是可以进行垃圾回收的 ...

  6. jquery mobile左右滑动切换页面

    jquery mobile左右滑动切换页面 $(function() {$("body").bind('swiperight', function() {  $.mobile.ch ...

  7. inner join、left join、right join中where和and的作用

    inner join.left join.right join中where和and的作用 .内连接(自然连接): 只有两个表相匹配的行才能在结果集中出现 2.外连接: 包括  (1)左外连接 (左边的 ...

  8. 使用开源的PullToRefreshScrollView scrollTo和scrollby遇到的问题

    在项目中使用了开源的com.handmark.pulltorefresh.library 下拉刷新组件,当中使用了PullToRefreshScrollView ,须要调用scrollTo或者scro ...

  9. Asp.NET调用百度翻译

    Asp.NET调用百度翻译,图示: HTML: <%@ Page Language="C#" AutoEventWireup="true" CodeFil ...

  10. CF 552C 进制转换

    http://codeforces.com/problemset/problem/552/C C. Vanya and Scales time limit per test 1 second memo ...